From 78e97c81ca00cd68590f6fb6c5acd751130dffa8 Mon Sep 17 00:00:00 2001 From: Matt Date: Mon, 11 Oct 2021 11:20:36 -0700 Subject: [PATCH] Add exponentional backoff for ometa REST Client (#711) Co-authored-by: Mithun Mathew --- ingestion/src/metadata/ingestion/ometa/client.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/ingestion/src/metadata/ingestion/ometa/client.py b/ingestion/src/metadata/ingestion/ometa/client.py index cc2f62c538e..58a51b43949 100644 --- a/ingestion/src/metadata/ingestion/ometa/client.py +++ b/ingestion/src/metadata/ingestion/ometa/client.py @@ -124,23 +124,21 @@ class REST(object): else: opts['data'] = data - retry = self._retry - if retry < 0: - retry = 0 + total_retries = self._retry if self._retry > 0 else 0 + retry = total_retries while retry >= 0: try: logger.debug('URL {}, method {}'.format(url, method)) logger.debug('Data {}'.format(opts)) return self._one_request(method, url, opts, retry) except RetryException: - retry_wait = self._retry_wait + retry_wait = self._retry_wait * (total_retries - retry + 1) logger.warning( 'sleep {} seconds and retrying {} ' '{} more time(s)...'.format( retry_wait, url, retry)) time.sleep(retry_wait) retry -= 1 - continue def _one_request(self, method: str, url: URL, opts: dict, retry: int): """