alexguo-db commented on code in PR #3177:
URL: https://github.com/apache/arrow-adbc/pull/3177#discussion_r2220543800


##########
csharp/src/Drivers/Databricks/DatabricksConnection.cs:
##########
@@ -321,57 +323,78 @@ private void ValidateProperties()
         protected override HttpMessageHandler CreateHttpHandler()
         {
             HttpMessageHandler baseHandler = base.CreateHttpHandler();
+            HttpMessageHandler baseAuthHandler = 
HiveServer2TlsImpl.NewHttpClientHandler(TlsOptions, _proxyConfigurator);
 
             // Add tracing handler to propagate W3C trace context if enabled
             if (_tracePropagationEnabled)
             {
                 baseHandler = new TracingDelegatingHandler(baseHandler, this, 
_traceParentHeaderName, _traceStateEnabled);
+                baseAuthHandler = new 
TracingDelegatingHandler(baseAuthHandler, this, _traceParentHeaderName, 
_traceStateEnabled);
             }
 
             if (TemporarilyUnavailableRetry)
             {
                 // Add retry handler for 503 responses
                 baseHandler = new RetryHttpHandler(baseHandler, 
TemporarilyUnavailableRetryTimeout);
+                baseAuthHandler = new RetryHttpHandler(baseAuthHandler, 
TemporarilyUnavailableRetryTimeout);

Review Comment:
   Sure, these are the differences:
   Auth retry HTTP handler:
   - needs to retry on 502, 503, 504, 408
   - needs to use exponential backoff for retries
   
   Thrift retry HTTP handler:
   - only retries on 503
   - relies on the returned Retry-After header to determine how long to wait
   
   I think we can unify in a future PR so that for both auth and Thrift 
requests:
   - retries on 502, 503, 504, 408
   - if Retry-After header is set, use that to determine how long to wait
   - otherwise, use exponential backoff



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to