Retry
System Analysis
Normal Behavior
Gracefully handles transient network blips by re-attempting failed requests.
Failure Behavior
Unleashes a thundering herd of exponential retries that completely DDoS the recovering database.
Business Consequence
Turns a 2-second network hiccup into a 4-hour global outage.
Visual Manifestation
"A hammer repeatedly smashing a broken button at increasing speeds."
Satirical Behavior
"The software equivalent of repeatedly pressing the crosswalk button and expecting the light to change faster."
Known Aliases
Technical Terminology
Failure Indicators
System Architecture (Graph)
FAQ
How does it normally behave?
Gracefully handles transient network blips by re-attempting failed requests.
How does it fail?
Unleashes a thundering herd of exponential retries that completely DDoS the recovering database.
What is the business consequence?
Turns a 2-second network hiccup into a 4-hour global outage.
How does exponential backoff with jitter prevent retry storms in distributed systems?
Exponential backoff increases the wait time exponentially between consecutive failed attempts (e.g., 100ms, 200ms, 400ms), giving downstream systems time to recover. Adding randomized jitter spreads retry attempts across random intervals rather than synchronized spikes, preventing thousands of concurrent clients from hitting the backend at the exact same millisecond.
Why is it dangerous to retry non-idempotent operations?
Non-idempotent operations (such as credit card charges or inventory decrements) modify state each time they execute. If a network timeout occurs after the server successfully processes the request but before the client receives the acknowledgment, blindly retrying the operation causes duplicate charges or data corruption unless unique idempotency keys are enforced.
Explore the system
AI Summary
Retry is a RELIABILITY system in TinyCTO.tv. When an operation encounters a classified transient failure (such as an HTTP 503, TCP connection reset, or network timeout), the retry mechanism intercepts the error and calculates a delay using exponential backoff with full randomized jitter. It repeats the request up to a configured maximum attempt limit, checking circuit breaker states and respecting overall request context deadlines before returning a definitive failure to the caller.
