File tree Expand file tree Collapse file tree
src/databricks/sql/backend/sea/utils Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1212from databricks .sql .auth .authenticators import AuthProvider
1313from databricks .sql .auth .retry import CommandType , DatabricksRetryPolicy
1414from databricks .sql .types import SSLOptions
15- from databricks .sql .exc import RequestError
15+ from databricks .sql .exc import RequestError , MaxRetryDurationError
1616
1717logger = logging .getLogger (__name__ )
1818
@@ -249,14 +249,21 @@ def _make_request(
249249 if self ._pool is None :
250250 raise RequestError ("Connection pool not initialized" , None )
251251
252- response = self ._pool .request (
253- method = method .upper (),
254- url = url ,
255- body = body ,
256- headers = headers ,
257- preload_content = True ,
258- retries = self .retry_policy ,
259- )
252+ try :
253+ response = self ._pool .request (
254+ method = method .upper (),
255+ url = url ,
256+ body = body ,
257+ headers = headers ,
258+ preload_content = True ,
259+ retries = self .retry_policy ,
260+ )
261+ except MaxRetryDurationError as e :
262+ # MaxRetryDurationError is raised directly by DatabricksRetryPolicy
263+ # when duration limits are exceeded (like in test_retry_exponential_backoff)
264+ error_message = f"Request failed due to retry duration limit: { e } "
265+ # Construct RequestError with message, context, and specific error (like Thrift backend)
266+ raise RequestError (error_message , None , e )
260267
261268 logger .debug (f"Response status: { response .status } " )
262269
You can’t perform that action at this time.
0 commit comments