feat: Support new 2026 retries#3379
Conversation
|
Detected 1 possible performance regressions:
|
|
|
||
| # Minimum `aws-sdk-core` version for new gem builds | ||
| MINIMUM_CORE_VERSION = "3.247.0" | ||
| MINIMUM_CORE_VERSION = "3.248.0" |
There was a problem hiding this comment.
Note to self to check this before merging.
jterapin
left a comment
There was a problem hiding this comment.
Nice - you should check with everyone else when these changes should be going out. Also is there a blog post or documentation on how new standard retries work?
| # make JSON parsing errors on 200-range responses retryable | ||
| response.error = Seahorse::Client::NetworkingError.new(e) |
There was a problem hiding this comment.
This is a new addition from last review so I have some questions:
- Does other parser handlers need the same treatment? Such as xml? Is there a reason why JSON is being specifically targeted here?
- If this is the final attempt, does this NetworkingErr gets surfaced to the user? Will this be helpful to the user?
There was a problem hiding this comment.
The SCP tests didn't cover the other parser handlers, but I believe they should also be updated. I'll make the changes.
With these changes, the error message raised on the final attempt will be the NetworkingErr, but it wraps the parsing error message so the root cause will still be surfaced.
There was a problem hiding this comment.
With these changes, the error message raised on the final attempt will be the NetworkingErr, but it wraps the parsing error message so the root cause will still be surfaced.
Is this how other SDKs are handling this case? Labeling it as a service error. Just curious 🤔
This PR adds support for new 2026 retries behavior, including changing the default retry mode, updating retry quotas, and introducing new behavior for long-polling operations and retry backoff headers.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.