Fix retry logic (#2573) (#2572)#2574
Conversation
5ffbe56 to
2218ee3
Compare
| use reqwest::{Client, Method, StatusCode}; | ||
| use std::time::Duration; | ||
|
|
||
| #[tokio::test] |
There was a problem hiding this comment.
- Unit tests shall not use external systems. It's PITA when your CI fails because X is down or your CI infra IPs get throttled/blocked due to excessive requests (remember that the IPs are shared w/ all the other users). So please find a mocking solution.
- I don't see a single test for "retried once and then passed".
|
Benchmark runs are scheduled for baseline = 9822d62 and contender = 8eea918. 8eea918 is a master commit associated with this PR. Results will be available as each benchmark for each run completes. |
* Fix retry logic (#2573) (#2572) * Fix logical conflicts * Rework tests
Which issue does this PR close?
Closes apache/arrow-rs-object-store#232
Closes apache/arrow-rs-object-store#233
Rationale for this change
See tickets
What changes are included in this PR?
Fixes the retry logic to actually retry server errors, and also to improve the rendering of client errors to include the response payload
Are there any user-facing changes?
Better error messages, and actually working retries 😄