johnnyg opened a new pull request, #445: URL: https://github.com/apache/arrow-rs-object-store/pull/445
# Which issue does this PR close? Closes #368. # Rationale for this change As described in #368 connection reset errors aren't being retried due to them being identified as `HttpErrorKind::Unknown` rather than `HttpErrorKind::Interrupted`. This is because the `reqwest::Error` has kind unknown and its immediate source error is a generic `Request` error however if you continue following the error source we eventually get to a `std::io::ErrorKind::ConnectionReset` error. # What changes are included in this PR? Currently we stop refining the HTTP error kind once we've been able to downcast the error to either a `hyper::Error` or `std::io::Error` regardless of whether or not we were able to provide a more useful error kind. This PR changes that so that we keep on refining until we are able to provide a more useful error kind (i.e. not unknown) or we run out of nested errors to check. Because we are only refining while the error kind is unknown, we are not going to accidentally override a more specific error kind with a more generic one. A test is also included which demonstrates the fix and prevents future regressions. # Are there any user-facing changes? No. -- 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