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

   Closes #309
   
   # Rationale for this change
   
   Status code 429 is what HTTP uses to indicate the client has sent too many 
requests in a given amount of time. It may sound counter-intuitive to retry in 
this situation, but that's why we use an exponential backoff mechanism. It 
gives the server the opportunity to recover, without failing the requests 
immediately.
   
   The retry mechanism already works in object stores like S3 because they 
return a server error. But without this change, we are not handling GCS 
properly. GCS returns a client error `429 Too Many Requests` instead. This 
change enables retries on this response too.
   
   A more advanced retry mechanism would use the optional response header 
`Retry-After`, but that is beyond the scope of this PR.
   


-- 
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