Skip to content

Commit fcda812

Browse files
committed
Added retry logic for bucket
1 parent 31ca5e6 commit fcda812

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

sdks/python/apache_beam/io/gcp/gcsio_integration_test.py

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -242,14 +242,27 @@ def test_create_default_bucket(self, mock_default_gcs_bucket_name):
242242
# verify soft delete policy is disabled by default in the default bucket
243243
# after creation
244244
self.assertEqual(bucket.soft_delete_policy.retention_duration_seconds, 0)
245-
existing_bucket = self.gcsio.get_bucket(overridden_bucket_name)
245+
max_retries = 5
246+
retry_delay = 1
247+
existing_bucket = None
248+
for attempt in range(max_retries):
249+
try:
250+
existing_bucket = self.gcsio.get_bucket(overridden_bucket_name)
251+
break
252+
except NotFound:
253+
if attempt < max_retries - 1:
254+
time.sleep(retry_delay)
255+
retry_delay *= 2
256+
else:
257+
existing_bucket = None
246258
if existing_bucket:
247259
try:
248260
existing_bucket.delete()
249261
except NotFound:
250262
pass
251-
252-
self.assertIsNone(self.gcsio.get_bucket(overridden_bucket_name))
263+
time.sleep(WAIT_BUCKET_PROPAGATION_SECONDS)
264+
with self.assertRaises(NotFound):
265+
self.gcsio.get_bucket(overridden_bucket_name)
253266

254267

255268
class GcsIOReadGzipTest(unittest.TestCase):

0 commit comments

Comments
 (0)