[
https://issues.apache.org/jira/browse/BEAM-12567?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17372925#comment-17372925
]
Valentyn Tymofieiev commented on BEAM-12567:
--------------------------------------------
Took at closer look at apitools, the retry logic is in:
https://github.com/google/apitools/blob/master/apitools/base/py/http_wrapper.py#L215-L225
and 5xx errors generate an error, which triggers to retry the request in
https://github.com/google/apitools/blob/70b500f2eb89beda26e68018ab279c53a871b3a4/apitools/base/py/http_wrapper.py#L353
However, this logic does not retry on 408 errors, and a retry within Beam could
help address that.
> Beam should retry failing GCS uploads
> --------------------------------------
>
> Key: BEAM-12567
> URL: https://issues.apache.org/jira/browse/BEAM-12567
> Project: Beam
> Issue Type: New Feature
> Components: io-py-gcp
> Reporter: Valentyn Tymofieiev
> Priority: P2
> Labels: starter
>
> Sometimes GCS upload initiated by Beam stager fail due to a retriable error
> (such as 503), however Beam code and the underlying apitools-based storage
> client do not retry.
> We should retry some reasonable amount of times with a backoff logic, either
> on all or (better) on retriable errors.
> Code pointers:
> https://github.com/apache/beam/blob/master/sdks/python/apache_beam/runners/dataflow/internal/apiclient.py#L553-L554
> and similar:
> https://github.com/apache/beam/blob/c026c9fa00239a6f3650a6fa69f3aa864f692afe/sdks/python/apache_beam/io/gcp/gcsio.py#L635-L639
--
This message was sent by Atlassian Jira
(v8.3.4#803005)