@@ -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