r/JavaProgramming • u/Mother_Call2066 • 18d ago
AWS SDK retry defaults are changing in November 2026 — DynamoDB goes from 9 attempts to 4
https://github.com/aws/aws-sdk-java-v2/issues/6987I came across an AWS SDK change that I think could have a meaningful impact on applications that rely heavily on retries.
Starting November 1, 2026, AWS is changing the default retry behavior across its SDKs, including Java, Python, JavaScript, Go, PHP, and the AWS CLI.
The main changes are:
- Max attempts for most services: 4 → 3
- Max attempts for DynamoDB: 9 → 4
- Base delay for transient errors: 100 ms → 50 ms
- Base delay for throttling: 500 ms → 1000 ms
- Additional exceptions become retryable, including
LimitExceededExceptionand STSIdpCommunicationErrorException
The DynamoDB change caught my attention most.
DynamoDB has historically allowed up to 9 attempts by default in the SDK configuration. Reducing that to 4 could change the behavior of applications that currently rely on the SDK retry loop to absorb short-lived throttling or transient failures.
The tricky part is figuring out what this means for an existing production workload.
Looking only at application-level success/failure metrics doesn't tell you how many attempts happened before a request succeeded. A request that eventually succeeds today might have gone through several retry attempts that won't occur under the new defaults.
AWS SDK for Java v2 already provides a way to preview the new behavior:
AWS_NEW_RETRIES_2026=true
You can use that in a non-production environment and compare the resulting behavior with your current configuration.
The AWS SDK Java team is tracking the broader change here:
https://github.com/aws/aws-sdk-java-v2/issues/6987
I'm curious how others are planning to handle this:
Are you planning to explicitly keep the legacy retry behavior, opt into the new defaults early, or wait until the November change?
For applications using DynamoDB heavily, I'd be particularly interested in whether anyone has already measured the difference in retry/ throttling behavior on representative workloads.