-
Notifications
You must be signed in to change notification settings - Fork 0
Add tests for retry logic based on response status code #11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| end | ||
|
|
||
| @testset "429: Too Many Requests" begin | ||
| # TODO: We probably should respect the Retry-After header, but we currently don't |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this something that HTTP.jl handles now? This might be a high priority thing for us to implement.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, i think this is the only one to decide on... currently we're not retrying 429 at all, but arguably we should be (and if so, should be respecting the Retry-After header if set)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i'll leave this to a follow-up PR, if/when we have more info about if we need to support this at all and if it's best done inthe ObjectStore.jl repo (rather than the application itself)
6de33c2 to
f980233
Compare
5bf33d0 to
f7c1b93
Compare
None of the listed reasons seem like they could be transient https://learn.microsoft.com/en-us/rest/api/storageservices/blob-service-error-codes
25679fe to
ed43a99
Compare
|
@jfunstonRAI please can you take a look? |
This adds tests for retry logic based on Azure docs:
Current behaviour is to retry 5** error codes (server errors) and not retry 4** error codes (client errors).
For RAICode, we use up to 15 minutes of retries so we need to be picky about when retrying makes sense... so only 5** codes is probably a good starting point. But we should consider (in future) if we should retry 429 error code (throttling error) and respecting Retry-After header if set.