Skip to content

Commit 00359e5

Browse files
authored
BigQuery: Harden snippets vs. 429 TooManyRequests. (googleapis#5760)
Closes googleapis#5746. Closes googleapis#5747. Closes googleapis#5748.
1 parent 23c385d commit 00359e5

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

docs/bigquery/snippets.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,9 @@
3939
pyarrow = None
4040

4141
from google.api_core import datetime_helpers
42+
from google.api_core.exceptions import TooManyRequests
4243
from google.cloud import bigquery
44+
from test_utils.retry import RetryErrors
4345

4446
ORIGINAL_FRIENDLY_NAME = 'Original friendly name'
4547
ORIGINAL_DESCRIPTION = 'Original description'
@@ -65,6 +67,9 @@
6567
'WHERE state = "TX"')
6668

6769

70+
retry_429 = RetryErrors(TooManyRequests)
71+
72+
6873
@pytest.fixture(scope='module')
6974
def client():
7075
return bigquery.Client()
@@ -76,9 +81,9 @@ def to_delete(client):
7681
yield doomed
7782
for item in doomed:
7883
if isinstance(item, (bigquery.Dataset, bigquery.DatasetReference)):
79-
client.delete_dataset(item, delete_contents=True)
84+
retry_429(client.delete_dataset)(item, delete_contents=True)
8085
else:
81-
item.delete()
86+
retry_429(item.delete)()
8287

8388

8489
def _millis():
@@ -1978,7 +1983,7 @@ def test_extract_table(client, to_delete):
19781983

19791984
bucket_name = 'extract_shakespeare_{}'.format(_millis())
19801985
storage_client = storage.Client()
1981-
bucket = storage_client.create_bucket(bucket_name) # API request
1986+
bucket = retry_429(storage_client.create_bucket)(bucket_name) # API request
19821987
to_delete.append(bucket)
19831988

19841989
# [START bigquery_extract_table]
@@ -2015,7 +2020,7 @@ def test_extract_table_json(client, to_delete):
20152020

20162021
bucket_name = 'extract_shakespeare_json_{}'.format(_millis())
20172022
storage_client = storage.Client()
2018-
bucket = storage_client.create_bucket(bucket_name) # API request
2023+
bucket = retry_429(storage_client.create_bucket)(bucket_name) # API request
20192024
to_delete.append(bucket)
20202025

20212026
# [START bigquery_extract_table_json]
@@ -2050,7 +2055,7 @@ def test_extract_table_compressed(client, to_delete):
20502055

20512056
bucket_name = 'extract_shakespeare_compress_{}'.format(_millis())
20522057
storage_client = storage.Client()
2053-
bucket = storage_client.create_bucket(bucket_name) # API request
2058+
bucket = retry_429(storage_client.create_bucket)(bucket_name) # API request
20542059
to_delete.append(bucket)
20552060

20562061
# [START bigquery_extract_table_compressed]

0 commit comments

Comments
 (0)