From 4abb40310eca7ec45afc4bc5e4dfafbe083e74d2 Mon Sep 17 00:00:00 2001 From: Tres Seaver Date: Tue, 27 Jul 2021 13:43:42 -0400 Subject: [PATCH] fix: make 'requests.exceptions.ChunkedEncodingError retryable by default (#526) Closes #525. --- google/cloud/storage/retry.py | 2 ++ tests/unit/test_retry.py | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/google/cloud/storage/retry.py b/google/cloud/storage/retry.py index ce988fcc3..f1ae30f4b 100644 --- a/google/cloud/storage/retry.py +++ b/google/cloud/storage/retry.py @@ -13,6 +13,7 @@ # limitations under the License. import requests +import requests.exceptions as requests_exceptions from google.api_core import exceptions as api_exceptions from google.api_core import retry @@ -33,6 +34,7 @@ api_exceptions.ServiceUnavailable, # 503 api_exceptions.GatewayTimeout, # 504 requests.ConnectionError, + requests_exceptions.ChunkedEncodingError, ) diff --git a/tests/unit/test_retry.py b/tests/unit/test_retry.py index 28b05f6ce..e28c2d038 100644 --- a/tests/unit/test_retry.py +++ b/tests/unit/test_retry.py @@ -69,6 +69,12 @@ def test_w_requests_connection_error(self): exc = requests.ConnectionError() self.assertTrue(self._call_fut(exc)) + def test_w_requests_chunked_encoding_error(self): + import requests.exceptions + + exc = requests.exceptions.ChunkedEncodingError() + self.assertTrue(self._call_fut(exc)) + def test_miss_w_stdlib_error(self): exc = ValueError("testing") self.assertFalse(self._call_fut(exc))