Infrastructure · Primitives
ExponentialBackoff
Geometrically increasing capped retry delay
Definition
Mechanism
A Backoff delay policy whose unjittered delay grows geometrically across consecutive unsuccessful attempts: base_delay * multiplier^attempt_index. A configurable jitter factor may perturb the candidate delay to decorrelate concurrent attempts, after which the scheduled delay is clamped to max_delay. The caller defines retry eligibility, retry budget, and when the attempt sequence resets.
Invariants
- Scheduled delay is greater than zero and does not exceed max_delay.
- Before jitter, delay is non-decreasing with attempt_index until max_delay is reached.
Risks
Failure modes
Synchronized retries when jitter is zero or correlated across callers.
Excessive recovery delay when the multiplier or cap is too large.
Retry amplification when callers use the delay policy without a retry budget.
Relationships
Builds on
References
Delay subsequent attempts after failure or contention
Extends
Delay subsequent attempts after failure or contention
Used by
Composes with
Mind
Classified re-attempt with backoff conditioned on failure type
Reference
Parameters
base_delayDuration, > 0- Delay before the first subsequent attempt
multiplierFloat, (1, unbounded)- Geometric growth factor applied per unsuccessful attempt
max_delayDuration, [base_delay, unbounded)- Upper bound applied after optional jitter
jitter_factorFloat, [0.0, 1.0]- Proportional randomization of the candidate delay
