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