fix: Don't retry for non-recoverable server http errors #212
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this PR do?
This is specifically addressing the issue where server returning Not
Implemented (code 501) would receive two more attempts for the same
request, even though there's no reason to expect it to serve the request
any better on further attempts.
This patch reduces the number of >=500 codes that would be restarted to
those where there seems to be a chance of recover on further attempts.
These codes are now explicitly listed instead of broad >=500 filter.
For all possible server codes, please consult e.g. here:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status#server_error_responses
Test Plan
Client no longer retries requests when server fails.
Injected a fake
raise NotImplementedError
in one of providers. Then triggered the API. Confirmed that the server no longer logs three times the following, but just once: