From 9bd2880440d588d559976150981ee79e743638bc Mon Sep 17 00:00:00 2001 From: Tres Seaver Date: Wed, 30 Mar 2016 15:07:32 -0400 Subject: [PATCH] Add exponential backoff for deletion failures. Fixes: #1657. Note for potential broader use toward #1619. --- system_tests/logging_.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/system_tests/logging_.py b/system_tests/logging_.py index 38539b84fe90..ff4115cb81a0 100644 --- a/system_tests/logging_.py +++ b/system_tests/logging_.py @@ -50,8 +50,18 @@ def setUp(self): self.to_delete = [] def tearDown(self): + from gcloud.exceptions import NotFound for doomed in self.to_delete: - doomed.delete() + backoff_intervals = [1, 2, 4, 8] + while True: + try: + doomed.delete() + break + except NotFound: + if backoff_intervals: + time.sleep(backoff_intervals.pop(0)) + else: + raise @staticmethod def _logger_name():