public class DefaultQldbTransactionBackoffStrategy extends Object implements BackoffStrategy
The backoff strategy uses a min delay of 10ms and max delay of 5000ms using an equal jitter strategy.
exponential delay = min( base delay * (2 ^ retry attempts), max delay)
jitter = random()
sleep time = exponential delay / 2 + jitter * exponential delay / 2
Constructor and Description |
---|
DefaultQldbTransactionBackoffStrategy(Duration baseDelay,
Duration maxBackoffTime)
Constructor to create a Backoff Strategy but with custom baseDelay and cap backoff time.
|
Modifier and Type | Method and Description |
---|---|
Duration |
calculateDelay(RetryPolicyContext retryPolicyContext)
Compute the delay before the next retry request.
|
public DefaultQldbTransactionBackoffStrategy(Duration baseDelay, Duration maxBackoffTime)
baseDelay
- The minimum amount of time to delay a retry.maxBackoffTime
- The maximum time to delay a retry.public Duration calculateDelay(RetryPolicyContext retryPolicyContext)
Compute the delay before the next retry request.
This strategy is only consulted when there will be a next retry.
calculateDelay
in interface BackoffStrategy
retryPolicyContext
- Number of retries that will be attempted.