Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for known network issues to be retryable #374

Closed
cojenco opened this issue Apr 14, 2023 · 2 comments · Fixed by #375
Closed

Add support for known network issues to be retryable #374

cojenco opened this issue Apr 14, 2023 · 2 comments · Fixed by #375
Assignees
Labels
api: storage Issues related to the googleapis/google-resumable-media-python API. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.

Comments

@cojenco
Copy link
Contributor

cojenco commented Apr 14, 2023

Add support for known network issues to be retryable and align behavior across Storage SDKs.

Such errors as below are categorized as known network/transfer errors in gsutil and gcloud, see internal doc go/python-storage-retry-known-errors for more details

Known Network Errors(Retryable) python storage clients gcloud gsutil
urllib3.exceptions.ProtocolError Y Y Y
urllib3.exceptions.SSLError N (need support) Y Y
urllib3.exceptions.TimeoutError N (need support) Y Y
requests.exceptions.SSLError Y Y Y
@product-auto-label product-auto-label bot added the api: storage Issues related to the googleapis/google-resumable-media-python API. label Apr 14, 2023
@tritone tritone added the type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design. label Apr 14, 2023
@tritone
Copy link
Contributor

tritone commented Apr 14, 2023

We should sync with gcloud storage team to confirm how this decision was made. Some of these errors can be permanent, so some caution is warranted.

@cojenco
Copy link
Contributor Author

cojenco commented Apr 20, 2023

Synced with gcloud storage team, and as far as we understand, these errors are connection errors that are wrapped and re-raised by the urllib3 library. Very similar to the requests.exceptions.SSLError that is already being retried in our libraries. gsutil also has been retrying the above-mentioned errors since 2014.

I noticed that the gcloud team ran some tests, so I also reproduced the tests upon proposed changes. Experiment tests, system and conformance tests currently all pass.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: storage Issues related to the googleapis/google-resumable-media-python API. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants