Skip to content
Preptima
hardConceptSeniorStaffLead

One node stops answering. How does the rest of the cluster decide whether it has crashed or is merely slow, and what does that decision cost you?

5 min readUpdated 2026-08-15Target archetype: Big Tech, Enterprise Captive, Product Startup

Answer

Short answer

You cannot distinguish a crashed process from a slow one, so every failure detector is a timeout and every timeout is a guess. Choose which error you can afford: declaring a live node dead risks two writers, waiting risks a stall, and only fencing makes the first survivable.

Failure detection is a trade-off, not a fact. Good failure detection chooses timeout values, leases, heartbeats, and fencing based on the cost of false suspicion versus slow recovery. Weak leases reasoning assumes a process is dead because it is quiet. Strong failure detection treats leases as a way to bound authority, not as proof that the old owner has vanished.

Failure detection should be tuned to the damage caused by a wrong suspicion.

Was this answer helpful?

Likely follow-ups

  • The node that everyone declared dead wakes up and resumes writing. What stops it?
  • Would you let each node form its own opinion about who is alive, or route that decision through consensus, and what does each cost?
  • How does your answer change if the node is reachable from half the cluster and not the other half?
  • Where does a lease's clock live, given that the holder and the grantor measure time separately?

Related questions

Masterclass guide

Further reading