beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (BEAM-391) Exceptions in gcsio upload thread causes pipeline to stall
Date Fri, 08 Jul 2016 23:37:11 GMT

    [ https://issues.apache.org/jira/browse/BEAM-391?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15368723#comment-15368723
] 

ASF GitHub Bot commented on BEAM-391:
-------------------------------------

GitHub user aaltay opened a pull request:

    https://github.com/apache/incubator-beam/pull/617

    [BEAM-391] Handle HttpError in GCS upload thread

    Be sure to do all of the following to help us incorporate your contribution
    quickly and easily:
    
     - [ ] Make sure the PR title is formatted like:
       `[BEAM-<Jira issue #>] Description of pull request`
     - [ ] Make sure tests pass via `mvn clean verify`. (Even better, enable
           Travis-CI on your fork and ensure the whole test matrix passes).
     - [ ] Replace `<Jira issue #>` in the title with the actual Jira issue
           number, if there is one.
     - [ ] If this contribution is large, please file an Apache
           [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.txt).
    
    ---
    
    Handle HttpError in GCS upload thread, break connection to the main thread and propagate
the exception.
    
    Retry in auth _refresh() to guard against temporary errors in the
    metadata service.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/aaltay/incubator-beam is391

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-beam/pull/617.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #617
    
----
commit e4ccb45a9ba74e29c36c77aef4c0c4bc137c9af8
Author: Ahmet Altay <altay@google.com>
Date:   2016-07-08T23:28:07Z

    Handle HttpError in GCS upload thread, break connection to the main
    thread and propagate the exception.
    
    Retry in auth _refresh() to guard against temporary errors in the
    metadata service.

----


> Exceptions in gcsio upload thread causes pipeline to stall
> ----------------------------------------------------------
>
>                 Key: BEAM-391
>                 URL: https://issues.apache.org/jira/browse/BEAM-391
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-py
>            Reporter: Ahmet Altay
>
> gcsio got stuck with invalid bucket name
> GcsBufferedWriter._start_upload (gcsio.py) raises an exception if the bucket does not
exist. This causes upload thread to silenty fail. It logs exception to the log but this does
not stop the pipeline or closes the receiving end of the multiprocessing.Pipe(). Later a call
in to write() blocks at self.conn.send_bytes(). Note that send may block if the buffer is
full.
> Upload thread should have a finally clause to close the socket connection. Or better
propagating the exception to its parent. This is true for other types of exceptions also.
> Another small issue in the GcsBufferedWriter.close(). It does not self self.close to
True.
> reproduction: python -m apache_beam.examples.wordcount --output gs://no-such-thing/
> Prints the exception but goes on forever. Ctrl + C breaks the main thread shows where
it got stuck.
> Similarly reproducible on the service.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message