SYSTEM Cited by 1 source
AWS SDK retry¶
What it is¶
AWS SDK retry is the built-in client-side retry behaviour shipped with the AWS SDKs (v2 across Java, Python/boto3, Go, JavaScript, .NET, Ruby). It implements the retry primitives that have become canonical in distributed-systems literature:
- Exponential backoff with full jitter — see concepts/exponential-backoff-jitter.
- Bounded retry count — configurable; commonly 3 retries for transient errors.
- Retryable-error classification — retry on 5xx, timeouts,
and specific 4xx codes (
ThrottlingException,RequestLimitExceeded); do not retry other 4xx. - Adaptive / standard modes — newer SDKs offer adaptive retry that dynamically adjusts aggressiveness based on measured throttling rate.
Why it shows up in timeout / retry guidance¶
Zalando's timeouts post cites AWS SDK retry as the canonical production reference for backoff-with-jitter:
"Implementing exponential backoff can be an effective retry strategy. It involves increasing the delay between each retry attempt exponentially, reducing the load on the failing service and preventing overwhelming it with repeated requests. Here is a fantastic blog on how AWS SDKs support exponential backoff and jitter as a part of their retry behaviour." (Source: sources/2023-07-25-zalando-all-you-need-to-know-about-timeouts)
Named reference: Exponential Backoff and Jitter — AWS Architecture Blog — the article that popularised the full-jitter variant as a fleet-friendly retry-scheduling strategy.
Retry modes (SDK v2)¶
- Legacy — fixed strategy, default in older SDKs.
- Standard — exponential backoff + full jitter, sensible defaults across services.
- Adaptive — additionally throttles client-side based on observed server-side throttling rate, implementing an AIMD-style feedback loop at the caller.
Seen in¶
- sources/2023-07-25-zalando-all-you-need-to-know-about-timeouts — canonical citation as the production-scale reference implementation of backoff + jitter.
Related¶
- concepts/exponential-backoff-jitter — the strategy AWS SDK retry implements.
- patterns/retry-on-5xx-not-4xx — the companion retry policy.
- patterns/circuit-breaker — complementary resilience primitive beyond retry.