From b0458cceb9452c5d3afe529413255f9cebaa2486 Mon Sep 17 00:00:00 2001 From: boris Date: Sat, 24 Sep 2022 15:15:20 +0800 Subject: [PATCH 1/6] Add logger --- google/api_core/retry.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/google/api_core/retry.py b/google/api_core/retry.py index ce496937b..e7a0818c3 100644 --- a/google/api_core/retry.py +++ b/google/api_core/retry.py @@ -141,6 +141,9 @@ def exponential_sleep_generator(initial, maximum, multiplier=_DEFAULT_DELAY_MULT """ delay = initial while True: + _LOGGER.debug( + "exponential_sleep_generator initial: {:.1f}s, maximum: {:.1f}s, multipier: {:1f}s".format(initial, maximum, multiplier) + ) # Introduce jitter by yielding a delay that is uniformly distributed # to average out to the delay time. yield min(random.uniform(0.0, delay * 2.0), maximum) From b9df673e839804d68d6fed64048e29df56bb41bd Mon Sep 17 00:00:00 2001 From: boris Date: Sat, 24 Sep 2022 15:51:26 +0800 Subject: [PATCH 2/6] Logging --- google/api_core/retry_async.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google/api_core/retry_async.py b/google/api_core/retry_async.py index 68a255973..ac930f9bc 100644 --- a/google/api_core/retry_async.py +++ b/google/api_core/retry_async.py @@ -142,7 +142,7 @@ async def retry_target(target, predicate, sleep_generator, deadline, on_error=No sleep = min(time_to_deadline, sleep) _LOGGER.debug( - "Retrying due to {}, sleeping {:.1f}s ...".format(last_exc, sleep) + "(Async) Retrying due to {}, sleeping {:.1f}s ...".format(last_exc, sleep) ) await asyncio.sleep(sleep) From 322a2d223bef6765ca28cee6ce7da99f48e44424 Mon Sep 17 00:00:00 2001 From: boris Date: Sat, 24 Sep 2022 15:58:22 +0800 Subject: [PATCH 3/6] temp --- google/api_core/retry.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/google/api_core/retry.py b/google/api_core/retry.py index e7a0818c3..2f41eb745 100644 --- a/google/api_core/retry.py +++ b/google/api_core/retry.py @@ -141,12 +141,14 @@ def exponential_sleep_generator(initial, maximum, multiplier=_DEFAULT_DELAY_MULT """ delay = initial while True: - _LOGGER.debug( - "exponential_sleep_generator initial: {:.1f}s, maximum: {:.1f}s, multipier: {:1f}s".format(initial, maximum, multiplier) - ) # Introduce jitter by yielding a delay that is uniformly distributed # to average out to the delay time. - yield min(random.uniform(0.0, delay * 2.0), maximum) + res = min(random.uniform(0.0, delay * 2.0), maximum) + _LOGGER.debug( + "exponential_sleep_generator initial: {:.1f}s, maximum: {:.1f}s, multipier: {:1f}s, res:{:1f}s".format(initial, maximum, + multiplier, res) + ) + yield res delay = delay * multiplier From 53bf6ffd74e807cd421de7240e935cad7d58198e Mon Sep 17 00:00:00 2001 From: boris Date: Sat, 24 Sep 2022 16:15:50 +0800 Subject: [PATCH 4/6] temp --- google/api_core/retry.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/google/api_core/retry.py b/google/api_core/retry.py index 2f41eb745..215b606ee 100644 --- a/google/api_core/retry.py +++ b/google/api_core/retry.py @@ -61,6 +61,7 @@ def check_if_exists(): import logging import random import time +import threading import requests.exceptions @@ -145,8 +146,7 @@ def exponential_sleep_generator(initial, maximum, multiplier=_DEFAULT_DELAY_MULT # to average out to the delay time. res = min(random.uniform(0.0, delay * 2.0), maximum) _LOGGER.debug( - "exponential_sleep_generator initial: {:.1f}s, maximum: {:.1f}s, multipier: {:1f}s, res:{:1f}s".format(initial, maximum, - multiplier, res) + f"xxxxx: {threading.current_thread().name} exponential_sleep_generator initial: {initial}s, maximum: {maximum}s, multipier: {multiplier}s, res:{res}s" ) yield res delay = delay * multiplier @@ -192,7 +192,10 @@ def retry_target(target, predicate, sleep_generator, deadline, on_error=None): for sleep in sleep_generator: try: - return target() + _LOGGER.debug(f"xxxxx: {threading.current_thread().name} before target sleep: {sleep}") + res = target() + _LOGGER.debug(f"xxxxx: {threading.current_thread().name} res: {res}") + return res # pylint: disable=broad-except # This function explicitly must deal with broad exceptions. From c41dc69d62aef4be084d11bc9e2f109c0300b4c9 Mon Sep 17 00:00:00 2001 From: boris Date: Sat, 24 Sep 2022 16:37:57 +0800 Subject: [PATCH 5/6] temp --- google/api_core/future/polling.py | 3 +++ google/api_core/retry.py | 9 ++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/google/api_core/future/polling.py b/google/api_core/future/polling.py index 02e680f6e..509b962d1 100644 --- a/google/api_core/future/polling.py +++ b/google/api_core/future/polling.py @@ -21,7 +21,9 @@ from google.api_core import retry from google.api_core.future import _helpers from google.api_core.future import base +import threading +_LOGGER = logging.getLogger(__name__) class _OperationNotComplete(Exception): """Private exception used for polling via retry.""" @@ -83,6 +85,7 @@ def done(self, retry=DEFAULT_RETRY): def _done_or_raise(self, retry=DEFAULT_RETRY): """Check if the future is done and raise if it's not.""" + _LOGGER.debug(f"xxxxx: {threading.current_thread().name} _done_or_raise, {retry.__dict__}") kwargs = {} if retry is DEFAULT_RETRY else {"retry": retry} if not self.done(**kwargs): diff --git a/google/api_core/retry.py b/google/api_core/retry.py index 215b606ee..961279a06 100644 --- a/google/api_core/retry.py +++ b/google/api_core/retry.py @@ -70,9 +70,12 @@ def check_if_exists(): from google.auth import exceptions as auth_exceptions _LOGGER = logging.getLogger(__name__) -_DEFAULT_INITIAL_DELAY = 1.0 # seconds -_DEFAULT_MAXIMUM_DELAY = 60.0 # seconds -_DEFAULT_DELAY_MULTIPLIER = 2.0 +# _DEFAULT_INITIAL_DELAY = 1.0 # seconds +# _DEFAULT_MAXIMUM_DELAY = 60.0 # seconds +# _DEFAULT_DELAY_MULTIPLIER = 2.0 +_DEFAULT_INITIAL_DELAY = 2.0 # seconds +_DEFAULT_MAXIMUM_DELAY = 2.0 # seconds +_DEFAULT_DELAY_MULTIPLIER = 1.0 _DEFAULT_DEADLINE = 60.0 * 2.0 # seconds From 48ce56309e65ab417c8ab3672aa4c2b09472e3ae Mon Sep 17 00:00:00 2001 From: boris Date: Sat, 24 Sep 2022 16:41:34 +0800 Subject: [PATCH 6/6] temp --- google/api_core/future/polling.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/google/api_core/future/polling.py b/google/api_core/future/polling.py index 509b962d1..02e680f6e 100644 --- a/google/api_core/future/polling.py +++ b/google/api_core/future/polling.py @@ -21,9 +21,7 @@ from google.api_core import retry from google.api_core.future import _helpers from google.api_core.future import base -import threading -_LOGGER = logging.getLogger(__name__) class _OperationNotComplete(Exception): """Private exception used for polling via retry.""" @@ -85,7 +83,6 @@ def done(self, retry=DEFAULT_RETRY): def _done_or_raise(self, retry=DEFAULT_RETRY): """Check if the future is done and raise if it's not.""" - _LOGGER.debug(f"xxxxx: {threading.current_thread().name} _done_or_raise, {retry.__dict__}") kwargs = {} if retry is DEFAULT_RETRY else {"retry": retry} if not self.done(**kwargs):