Skip to content

feat: Support new 2026 retries#3379

Merged
richardwang1124 merged 18 commits into
version-3from
feature/new-retries
May 21, 2026
Merged

feat: Support new 2026 retries#3379
richardwang1124 merged 18 commits into
version-3from
feature/new-retries

Conversation

@richardwang1124
Copy link
Copy Markdown
Contributor

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.

@richardwang1124 richardwang1124 requested a review from a team as a code owner May 12, 2026 16:49
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 12, 2026

Detected 1 possible performance regressions:

  • aws-sdk-core.gem_size_kb - z-score regression: 407.5 -> 408.5. Z-score: Infinity

Comment thread build_tools/services.rb

# Minimum `aws-sdk-core` version for new gem builds
MINIMUM_CORE_VERSION = "3.247.0"
MINIMUM_CORE_VERSION = "3.248.0"
Copy link
Copy Markdown
Contributor Author

@richardwang1124 richardwang1124 May 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note to self to check this before merging.

Copy link
Copy Markdown
Contributor

@jterapin jterapin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

Comment thread gems/aws-sdk-core/lib/aws-sdk-core/plugins/retry_errors.rb Outdated
Comment thread gems/aws-sdk-core/lib/aws-sdk-core/plugins/retry_errors.rb Outdated
Comment thread gems/aws-sdk-core/lib/aws-sdk-core/plugins/retry_errors.rb Outdated
Comment thread gems/aws-sdk-core/lib/aws-sdk-core/plugins/retry_errors.rb Outdated
Comment thread gems/aws-sdk-core/CHANGELOG.md Outdated
Comment thread gems/aws-sdk-core/lib/aws-sdk-core/plugins/retry_errors.rb
Comment thread gems/aws-sdk-core/spec/aws/plugins/retries/retry_quota_spec.rb
Comment on lines +39 to +40
# make JSON parsing errors on 200-range responses retryable
response.error = Seahorse::Client::NetworkingError.new(e)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 🤔

Comment thread gems/aws-sdk-core/lib/aws-sdk-core/plugins/retry_errors.rb
Comment thread gems/aws-sdk-core/lib/aws-sdk-core/plugins/retry_errors.rb Outdated
Comment thread gems/aws-sdk-core/lib/aws-sdk-core/plugins/retry_errors.rb Outdated
Comment thread gems/aws-sdk-core/CHANGELOG.md
Copy link
Copy Markdown
Contributor

@jterapin jterapin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@richardwang1124 richardwang1124 merged commit 55baaf2 into version-3 May 21, 2026
34 checks passed
@richardwang1124 richardwang1124 deleted the feature/new-retries branch May 21, 2026 16:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants