diff --git a/video/cloud-client/analyze/beta_snippets_test.py b/video/cloud-client/analyze/beta_snippets_test.py index 390f1f7c879..a53027c3c90 100644 --- a/video/cloud-client/analyze/beta_snippets_test.py +++ b/video/cloud-client/analyze/beta_snippets_test.py @@ -17,6 +17,8 @@ import os import uuid +import backoff +from google.api_core.exceptions import Conflict from google.cloud import storage import pytest from six.moves.urllib.request import urlopen @@ -59,8 +61,13 @@ def bucket(): yield bucket - # Teardown. - bucket.delete(force=True) + # Teardown. We're occasionally seeing 409 conflict errors. + # Retrying upon 409s. + @backoff.on_exception(backoff.expo, Conflict, max_time=120) + def delete_bucket(): + bucket.delete(force=True) + + delete_bucket() @pytest.mark.slow diff --git a/video/cloud-client/analyze/requirements-test.txt b/video/cloud-client/analyze/requirements-test.txt index 5c708aa3f57..4d047336102 100644 --- a/video/cloud-client/analyze/requirements-test.txt +++ b/video/cloud-client/analyze/requirements-test.txt @@ -1,2 +1,3 @@ +backoff==1.10.0 pytest==5.4.3 -flaky==3.7.0 \ No newline at end of file +flaky==3.7.0