Skip to content

Enable retries by default#4454

Merged
vcjana merged 24 commits into
mainfrom
fix-retry-defaults-clean
Jan 13, 2026
Merged

Enable retries by default#4454
vcjana merged 24 commits into
mainfrom
fix-retry-defaults-clean

Conversation

@vcjana
Copy link
Copy Markdown
Collaborator

@vcjana vcjana commented Dec 16, 2025

Fixes awslabs/aws-sdk-rust#1389
Fixes awslabs/aws-sdk-rust#1393

Problem

When users create a client with Config::builder().build(), retries are disabled by default. This is confusing because our docs say retries are enabled by default, and aws_config::load_from_env() does enable them. Users expect retries to just work.

Solution

Enable RetryConfig::standard() and a 3.1s connection timeout by default for BehaviorVersion::v2025_01_17() and later. Older behavior versions keep the current behavior for backward compatibility.

Changes

  • Modified default_retry_config_plugin() to enable retries for new behavior versions
  • Modified default_timeout_config_plugin() to add 3.1s connection timeout
  • Updated generated .send() docs to clarify when retries are enabled

Documentation Updates Needed

The AWS Developer Guide at https://docs.aws.amazon.com/sdk-for-rust/latest/dg/retries.html needs to be updated to reflect this change.

Checklist

  • Code changes implemented
  • Backward compatibility maintained via BehaviorVersion
  • Generated documentation updated
  • Tests pass
  • AWS Developer Guide documentation updated (external)

cc @rcoh @aajtodd

Fixes #1389 and #1393

- Enable RetryConfig::standard() for BehaviorVersion v2025_01_17+
- Add default 3.1s connection timeout for v2025_01_17+
- Update generated send() docs to clarify retry behavior
@github-actions

This comment was marked as resolved.

@github-actions

This comment was marked as resolved.

Comment thread rust-runtime/aws-smithy-runtime/src/client/defaults.rs Outdated
Comment thread rust-runtime/aws-smithy-runtime/src/client/defaults.rs Outdated
@vcjana vcjana force-pushed the fix-retry-defaults-clean branch from f7a4014 to fc83a75 Compare December 23, 2025 22:58
Copy link
Copy Markdown
Collaborator

@rcoh rcoh left a comment

Choose a reason for hiding this comment

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

Test failure is real, need to fix the test or pin the behavior version

I would also appreciate a few tests

@github-actions

This comment was marked as resolved.

@vcjana vcjana force-pushed the fix-retry-defaults-clean branch 3 times, most recently from 8b3dcd0 to 8b014c8 Compare January 5, 2026 23:06
@github-actions

This comment was marked as resolved.

@github-actions

This comment was marked as resolved.

@vcjana vcjana force-pushed the fix-retry-defaults-clean branch 3 times, most recently from ada4678 to 796622b Compare January 6, 2026 02:47
@github-actions

This comment was marked as resolved.

@github-actions

This comment was marked as resolved.

@vcjana vcjana force-pushed the fix-retry-defaults-clean branch from c82874c to f02053c Compare January 6, 2026 07:46
@github-actions

This comment was marked as resolved.

@vcjana vcjana force-pushed the fix-retry-defaults-clean branch from f02053c to 0f588c2 Compare January 6, 2026 09:32
@github-actions

This comment was marked as resolved.

@github-actions

This comment was marked as resolved.

@github-actions

This comment was marked as resolved.

Comment thread rust-runtime/aws-smithy-runtime/src/client/defaults.rs Outdated
Comment thread rust-runtime/aws-smithy-runtime/src/client/defaults.rs Outdated
@vcjana vcjana requested a review from a team as a code owner January 12, 2026 17:17
@vcjana vcjana force-pushed the fix-retry-defaults-clean branch from 821575e to 27e9c69 Compare January 12, 2026 17:42
@vcjana vcjana force-pushed the fix-retry-defaults-clean branch from 27e9c69 to b6fa58c Compare January 12, 2026 18:11
@github-actions

This comment was marked as resolved.

Copy link
Copy Markdown
Collaborator

@rcoh rcoh left a comment

Choose a reason for hiding this comment

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

this uses 2025_01_17? shouldn't we be making a new behavior version?

Comment thread .github/actions/free-disk-space/action.yml
Comment thread CHANGELOG.md Outdated
Comment thread rust-runtime/aws-smithy-runtime-api/src/client/behavior_version.rs Outdated
Comment thread rust-runtime/aws-smithy-runtime-api/src/client/behavior_version.rs Outdated
Comment thread rust-runtime/aws-smithy-runtime/src/client/defaults.rs Outdated
@github-actions

This comment was marked as resolved.

@github-actions

This comment was marked as resolved.

Copy link
Copy Markdown
Collaborator

@rcoh rcoh left a comment

Choose a reason for hiding this comment

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

Only one remaining issue, otherwise LGTM

@github-actions

This comment was marked as resolved.

@github-actions

This comment was marked as resolved.

@github-actions

This comment was marked as resolved.

Copy link
Copy Markdown
Contributor

@aajtodd aajtodd left a comment

Choose a reason for hiding this comment

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

Fix and ship

Comment thread rust-runtime/aws-smithy-runtime-api/src/client/behavior_version.rs
Comment thread rust-runtime/aws-smithy-runtime/src/client/defaults.rs Outdated
Comment thread rust-runtime/aws-smithy-runtime/src/client/defaults.rs Outdated
@vcjana vcjana force-pushed the fix-retry-defaults-clean branch from 84d704b to eb0c7aa Compare January 13, 2026 21:28
@vcjana vcjana force-pushed the fix-retry-defaults-clean branch from eb0c7aa to cffe1d6 Compare January 13, 2026 21:50
@github-actions

This comment was marked as resolved.

@vcjana vcjana merged commit f2e9994 into main Jan 13, 2026
50 checks passed
@vcjana vcjana deleted the fix-retry-defaults-clean branch January 13, 2026 23:46
vcjana added a commit that referenced this pull request Jan 23, 2026
Adds missing changelog entry for PR #4454 which enabled retries by default for AWS SDK clients starting with
`BehaviorVersion::v2026_01_12()`.
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.

Generated docs on send() method are not correct Constructing an SDK client from Config::builder().<.....>.build() does not enable retries

4 participants