Skip to content
This repository was archived by the owner on Apr 1, 2026. It is now read-only.

Commit 58cb9c0

Browse files
committed
simplified change
1 parent 0710b0c commit 58cb9c0

2 files changed

Lines changed: 3 additions & 14 deletions

File tree

google/cloud/bigtable/data/_helpers.py

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
from google.api_core import exceptions as core_exceptions
2626
from google.api_core.retry import exponential_sleep_generator
2727
from google.api_core.retry import RetryFailureReason
28-
from google.rpc.error_details_pb2 import RetryInfo
2928
from google.cloud.bigtable.data.exceptions import RetryExceptionGroup
3029

3130
if TYPE_CHECKING:
@@ -308,15 +307,3 @@ def get_attempt_backoff(self, attempt_idx) -> float:
308307
if attempt_idx < 0:
309308
raise IndexError("received negative attempt number")
310309
return self.history[attempt_idx]
311-
312-
def set_from_exception_info(self, retry_info: RetryInfo):
313-
"""
314-
Use a RetryInfo object to set the next sleep time.
315-
316-
If a problem is encountered, this method does nothing.
317-
"""
318-
try:
319-
retry_seconds = retry_info.retry_delay.ToTimedelta().total_seconds()
320-
self.set_next(retry_seconds)
321-
except Exception:
322-
pass

google/cloud/bigtable/data/_metrics/tracked_retry.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ def wrapper(exc: Exception) -> None:
6767
if exc.details:
6868
info = next((field for field in exc.details if isinstance(field, RetryInfo)), None)
6969
if info:
70-
operation.backoff_generator.set_from_exception_info(info)
70+
# override next backoff with server-provided value
71+
retry_seconds = info.retry_delay.ToTimedelta().total_seconds()
72+
operation.backoff_generator.set_next(retry_seconds)
7173
except Exception:
7274
# ignore errors in metadata collection
7375
pass

0 commit comments

Comments
 (0)