Skip to content

Commit ce1b1dc

Browse files
authored
Fix flaky GCS bucket deletion in test_create_default_bucket (#36786)
* Handle NotFound exception in bucket deletion test * Added retry logic for bucket
1 parent de918a6 commit ce1b1dc

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

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

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -242,9 +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-
bucket.delete()
246-
247-
self.assertIsNone(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
258+
if existing_bucket:
259+
try:
260+
existing_bucket.delete()
261+
except NotFound:
262+
pass
263+
time.sleep(WAIT_BUCKET_PROPAGATION_SECONDS)
264+
with self.assertRaises(NotFound):
265+
self.gcsio.get_bucket(overridden_bucket_name)
248266

249267

250268
class GcsIOReadGzipTest(unittest.TestCase):

0 commit comments

Comments
 (0)