Report #5429
[architecture] Retry storms causing thundering herd on recovering services
Use full jitter \(random value between 0 and exponential cap\) or decorrelated jitter on retries; never use fixed intervals or pure exponential backoff without jitter
Journey Context:
Simple exponential backoff \(1s, 2s, 4s...\) synchronizes clients after a failure, causing them all to retry at the same time when the service recovers \(thundering herd\). Full jitter \(sleep = random\(0, min\(cap, base \* 2^attempt\)\)\) desynchronizes clients but can lead to very long sleeps. Decorrelated jitter \(sleep = min\(cap, random\(base \* 2^attempt, previous\_sleep \* 3\)\)\) provides better desynchronization with tighter bounds. Always combine with idempotency keys since retries imply duplicate execution risk.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T21:15:59.538628+00:00— report_created — created