Cascading Failure at 3am
Walk through diagnosing and stopping a cascading failure spreading across services at 3am with incomplete information.
Overview
The hardest incident class
Cascading failures are the hardest incident class because the symptoms mislead. Several services are degraded at once, and fixing the wrong one first makes things worse.
Identifying which failure pattern you are in determines the correct first action.
> [!IMPORTANT] The first service to alert is often not the origin. Cascades propagate upstream from the source.
The patterns
SRE Book Chapter 22 covers server overload, resource exhaustion and retry storms. Metastable failure is the later framing from Bronson et al. (2021).
- Server overload — Latency rises as load exceeds capacity — Shed load
- Resource exhaustion — Error rate climbs monotonically as one service dies — Restore or restart the exhausted resource
- Retry storm — Error rate oscillates as services recover and get hammered again — Fix retry backoff, shed load at the caller
- Metastable failure — Degraded state persists after the trigger is gone — Break the feedback loop
Interview questions
- At 3am, your monitoring fires alerts on 6 services simultaneously. All show high latency and elevated error rates. What do you do in the first 10 minutes?
- Five minutes in, you find that Service A (a payment processor) is receiving 10x normal traffic from Service B (checkout). Service B has no recent deploy. What is the most likely cause and what do you do?
- The cascade is resolved. What does the postmortem need to cover to prevent recurrence?
Sign up free to read the full topic
More SRE topics
Start free on Cariara · Coding problems · System design studio