Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit aefd44b

Browse files
committedDec 20, 2024·
Updated the retryable condition
1 parent fba9759 commit aefd44b

File tree

4 files changed

+1
-28
lines changed

4 files changed

+1
-28
lines changed
 

‎src/databricks/sql/auth/retry.py

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -241,14 +241,6 @@ def command_type(self) -> Optional[CommandType]:
241241
def command_type(self, value: CommandType) -> None:
242242
self._command_type = value
243243

244-
@property
245-
def is_retryable(self) -> bool:
246-
return self._is_retryable
247-
248-
@is_retryable.setter
249-
def is_retryable(self, value: bool) -> None:
250-
self._is_retryable = value
251-
252244
@property
253245
def delay_default(self) -> float:
254246
"""Time in seconds the connector will wait between requests polling a GetOperationStatus Request
@@ -369,9 +361,6 @@ def should_retry(self, method: str, status_code: int) -> Tuple[bool, str]:
369361
if status_code == 501:
370362
raise NonRecoverableNetworkError("Received code 501 from server.")
371363

372-
if self.is_retryable == False:
373-
return False, "Request is not retryable"
374-
375364
# Request failed and this method is not retryable. We only retry POST requests.
376365
if not self._is_method_retryable(method):
377366
return False, "Only POST requests are retried"

‎src/databricks/sql/auth/thrift_http_client.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -216,12 +216,3 @@ def set_retry_command_type(self, value: CommandType):
216216
logger.warning(
217217
"DatabricksRetryPolicy is currently bypassed. The CommandType cannot be set."
218218
)
219-
220-
def set_is_retryable(self, retryable: bool):
221-
"""Pass the provided retryable flag to the retry policy"""
222-
if isinstance(self.retry_policy, DatabricksRetryPolicy):
223-
self.retry_policy.is_retryable = retryable
224-
else:
225-
logger.warning(
226-
"DatabricksRetryPolicy is currently bypassed. The is_retryable flag cannot be set."
227-
)

‎src/databricks/sql/thrift_backend.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,6 @@ def attempt_request(attempt):
376376
if self.enable_v3_retries:
377377
this_command_type = CommandType.get(this_method_name)
378378
self._transport.set_retry_command_type(this_command_type)
379-
self._transport.set_is_retryable(retryable)
380379
self._transport.startRetryTimer()
381380

382381
response = method(request)
@@ -461,7 +460,7 @@ def attempt_request(attempt):
461460
# return on success
462461
# if available: bounded delay and retry
463462
# if not: raise error
464-
max_attempts = self._retry_stop_after_attempts_count
463+
max_attempts = self._retry_stop_after_attempts_count if retryable else 1
465464

466465
# use index-1 counting for logging/human consistency
467466
for attempt in range(1, max_attempts + 1):

‎tests/unit/test_retry.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,3 @@ def test_sleep__retry_after_present(self, t_mock, retry_policy, error_history):
8484
retry_policy.history = [error_history, error_history, error_history]
8585
retry_policy.sleep(HTTPResponse(status=503, headers={"Retry-After": "3"}))
8686
t_mock.assert_called_with(3)
87-
88-
def test_not_retryable__fetch_results_orientation_fetch_next(self, retry_policy):
89-
HTTP_STATUS_CODES = [200, 429, 503, 504]
90-
retry_policy.is_retryable = False
91-
for status_code in HTTP_STATUS_CODES:
92-
assert not retry_policy.is_retry("METHOD_NAME", status_code=status_code)

0 commit comments

Comments
 (0)
Please sign in to comment.