Interface LegacyRetryStrategy

All Superinterfaces:
RetryStrategy
All Known Implementing Classes:
DefaultLegacyRetryStrategy

@ThreadSafe public interface LegacyRetryStrategy extends RetryStrategy
The legacy retry strategy is a RetryStrategy for normal use-cases.

The legacy retry strategy by default:

  1. Retries on the conditions configured in the LegacyRetryStrategy.Builder.
  2. Retries 3 times (4 total attempts). Adjust with RetryStrategy.Builder.maxAttempts(int)
  3. For non-throttling exceptions uses the BackoffStrategy.exponentialDelay(java.time.Duration, java.time.Duration) backoff strategy, with a base delay of 100 milliseconds and max delay of 20 seconds. Adjust with RetryStrategy.Builder.backoffStrategy(software.amazon.awssdk.retries.api.BackoffStrategy)
  4. For throttling exceptions uses the BackoffStrategy.exponentialDelayHalfJitter(java.time.Duration, java.time.Duration) backoff strategy, with a base delay of 500 milliseconds and max delay of 20 seconds. Adjust with LegacyRetryStrategy.Builder.throttlingBackoffStrategy(software.amazon.awssdk.retries.api.BackoffStrategy)
  5. Circuit breaking (disabling retries) in the event of high downstream failures across the scope of the strategy. The circuit breaking will never prevent a successful first attempt. Adjust with LegacyRetryStrategy.Builder.circuitBreakerEnabled(java.lang.Boolean)
  6. The state of the circuit breaker is not affected by throttling exceptions
See Also: