Retry throttling errors on XML/Query services via service parsers#1221
Open
deiwin wants to merge 1 commit into
Open
Retry throttling errors on XML/Query services via service parsers#1221deiwin wants to merge 1 commit into
deiwin wants to merge 1 commit into
Conversation
Threads the service-specific operation parser into the request logic so
XML throttling errors (SES, SQS, SNS) can now trigger retries.
Previously the JSON-only `client_error` fallthrough returned `{:error, ...}`
immediately for XML bodies, skipping retries.
An alternative would be to implement XML parsing within the request
logic, but that would a) duplicate the logic that's already there and b)
set a (potentially optional) requirement on an XML library directly in
the main library here.
The old cond block in `Query.perform` that silently passed through unrecognized
parser arities is removed and arity 0 or 4+ now crashes loudly. This is
not strictly necessary but seemed a more sensible approach.
Addresses an issue similar to that raised in ex-aws#300.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Threads the service-specific operation parser into the request logic so XML throttling errors (SES, SQS, SNS) can now trigger retries. Previously the JSON-only
client_errorfallthrough returned{:error, ...}immediately for XML bodies, skipping retries.An alternative would be to implement XML parsing within the request logic, but that would a) duplicate the logic that's already there and b) set a (potentially optional) requirement on an XML library directly in the main library here.
The old cond block in
Query.performthat silently passed through unrecognized parser arities is removed and arity 0 or 4+ now crashes loudly. This is not strictly necessary but seemed a more sensible approach.Addresses an issue similar to that raised in #300.