rtyler opened a new pull request, #513:
URL: https://github.com/apache/arrow-rs-object-store/pull/513

   This error in the logic of the backoff configuration meant that in
   practice when an object store (e.g. S3) would produce an error, the
   steps of the backoff _may_ be incredibly small and not exponentially
   backoff properly.
   
   Before this change, a few runs of the test case I added had backoff
   steps far exceeding 20 steps for the default configuration, e.g.:
   
   ```
     left: 20
    right: 70
   
     left: 20
    right: 194
   
     left: 20
    right: 31
   
     left: 20
    right: 407
   
     left: 20
    right: 407
   ```
   
   Due to these steps, a rate-limiting or other error by an object store
   would result in an _explosion_ in repeated requests to the object store.
   In the case of a rate-limiting situation this further exacerbated the
   failure mode.
   
   A rather simple fix however. I did also remove some logic from the
   existing test because I do not believe repeating the logic of the
   `next()` function in the test is useful from a testing perspective.
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to