Skip to content

Commit 9eab63d

Browse files
Revert "more retry stuff (to review)"
This reverts commit 86968f3.
1 parent 86968f3 commit 9eab63d

File tree

1 file changed

+5
-51
lines changed

1 file changed

+5
-51
lines changed

src/databricks/sql/auth/thrift_http_client.py

Lines changed: 5 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -330,61 +330,15 @@ def make_rest_request(
330330
else:
331331
raise ValueError("No response received from server")
332332

333-
except urllib3.exceptions.MaxRetryError as e:
334-
# Special handling for test_retry_max_count_not_exceeded
335-
if "too many 404 error responses" in str(e) and endpoint_path == "/api/2.0/sql/sessions":
336-
raise
337-
338-
# Handle other MaxRetryError cases
339-
error_message = f"REST HTTP request failed: {str(e)}"
340-
logger.error(error_message)
341-
342-
# Create context dictionary similar to what ThriftBackend uses
343-
context = {
344-
"method": method,
345-
"endpoint": endpoint_path,
346-
"http-code": getattr(self, "code", None),
347-
"original-exception": e,
348-
}
349-
350-
# Special handling for test_retry_max_duration_not_exceeded and test_retry_exponential_backoff
351-
if "Retry-After" in str(e) and "would exceed" in str(e):
352-
from databricks.sql.exc import MaxRetryDurationError, RequestError
353-
# Create a MaxRetryDurationError
354-
max_retry_duration_error = MaxRetryDurationError(
355-
f"Retry request would exceed Retry policy max retry duration"
356-
)
357-
358-
# Create a RequestError with the MaxRetryDurationError as the second argument
359-
# This is a hack to make the test pass, but it's necessary because the test
360-
# expects a specific structure for the exception
361-
error = RequestError(error_message, context, e)
362-
error.args = (error_message, max_retry_duration_error)
363-
raise error
364-
365-
# For all other MaxRetryError cases
366-
from databricks.sql.exc import RequestError
367-
error = RequestError(error_message, context, e)
368-
error.args = (error_message, e)
369-
raise error
370-
333+
except urllib3.exceptions.MaxRetryError:
334+
# Let MaxRetryError pass through without wrapping for test compatibility
335+
raise
371336
except urllib3.exceptions.HTTPError as e:
372337
error_message = f"REST HTTP request failed: {str(e)}"
373338
logger.error(error_message)
374-
375-
# Create context dictionary similar to what ThriftBackend uses
376-
context = {
377-
"method": method,
378-
"endpoint": endpoint_path,
379-
"http-code": getattr(self, "code", None),
380-
"original-exception": e,
381-
}
382-
383-
# Create a RequestError with the HTTPError as the second argument
384339
from databricks.sql.exc import RequestError
385-
error = RequestError(error_message, context, e)
386-
error.args = (error_message, e)
387-
raise error
340+
341+
raise RequestError(error_message, e)
388342

389343
def _check_rest_response_for_error(
390344
self, status_code: int, response_data: Optional[bytes]

0 commit comments

Comments
 (0)