benauthor opened a new issue, #368:
URL: https://github.com/apache/arrow-rs-object-store/issues/368

   According to the docs on 
[RetryConfig](https://docs.rs/object_store/0.12.0/object_store/struct.RetryConfig.html)
 the intent expressed seems to be that connection errors should be retried. 
However the 
[code](https://docs.rs/crate/object_store/0.12.0/source/src/client/retry.rs#374-403)
 does not implement this (if the error is not an HTTP 4xx or 5xx, it exits 
without retrying on L390).
   
   A typical example of a non-retried error I saw in practice is:
   ```
   Service(ObjectStore(Generic { store: "S3", source: RetryError { method: PUT, 
uri: Some(XXX-REDACTED-XXX), retries: 0, max_retries: 3, elapsed: 801.473µs, 
retry_timeout: 60s, inner: Http(HttpError { kind: Unknown, source: 
reqwest::Error { kind: Request, source: 
hyper_util::client::legacy::Error(SendRequest, hyper::Error(Io, Os { code: 104, 
kind: ConnectionReset, message: "Connection reset by peer" })) } }) } }))
   ```
   
   Is there interest in making the behavior match the documentation? Otherwise 
it'd be good to edit the documentation to match the behavior. I prefer the 
former, but either way I'd be happy to chip in.


-- 
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.apache.org

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

Reply via email to