Learn Labs
9. The Trouble with Distributed Systems

9.9 Production failure catalog for this chapter

Production failure catalog
0 rows
SymptomUnderlying mechanism
Request timed out; did it happen or not?Six indistinguishable cases (§2.1) — you cannot know
Retry caused a duplicate charge/emailTimeout ambiguity + non-idempotent operation
TCP said "delivered," the work never happenedACK means the KERNEL received it, not the application
Data duplicated after a reconnectTCP dedup applies to one connection only
Redundant switches, still an outageRedundancy doesn't guard against human misconfiguration
A can reach B, B can reach C, A can't reach CPartial/asymmetric network fault
Node sends fine but receives nothing (or vice versa)One-directional link failure
Cluster deadlocked and stayed broken after the network recoveredUntested network-fault error handling
Healthy node evicted during a traffic spikeTimeout too short; detecting overload as death
All nodes declared each other deadCascading failure from premature eviction
Latency fine at 60% load, chaotic at 90%Queueing delays explode near capacity
Random slowness with no code changeNoisy neighbour in a multitenant environment
Timestamps out of order across nodesClock skew; ordering by wall clock
Writes silently disappear, no errorsLWW + a node with a lagging clock
Elapsed time computed as negativeTime-of-day clock stepped backward
Everything hung at midnightLeap second
Clock drifted for weeks, nobody noticedNTP firewalled off — the silent failure
A microsecond timestamp that's wrong by 40 msNo confidence interval exposed
Leader kept writing after losing its leaseProcess pause → zombie; no fencing
Ancient write arrives and corrupts a fileDelayed packet from a crashed former leaseholder
STONITH fired and both nodes diedMutual shutdown; STONITH doesn't handle delayed packets
Node responds to health checks but does no workFail-slow / gray failure / limping node
Quorum algorithm violated after a disk wipeNode amnesia breaks the stable-storage assumption
Verified model, buggy systemSpec/implementation drift
Simulation replay isn't reproducibleAn uncontrolled nondeterminism source (hash order, OOM)