Skip to content
About
Main content

What recovery forbids

What this article forbids

  1. Reconstruction without a copy, a log or a recipe. There is no fourth source, and "highly available" is not one.
  2. Low steady-state cost and short recovery distance together. Their product is roughly fixed; you move along the curve.
  3. Faithful recovery of a nondeterministic computation. You get a valid state, not the state, and no mechanism detects the difference.
  4. Safe promotion without enforcement at the shared resource. Agreement among reachable nodes says nothing about the one that is not answering.
  5. Detection that is both fast and accurate. One knob, two errors, and no extra information to buy with.
  6. Undo past an externally visible effect.
  7. Termination of replay when drain rate ≤ arrival rate.
  8. RTO independent of state size, once the state is larger than restore bandwidth × .

Escapes and what each costs

EscapeBuysCostsPaid by
Retryrecovery with no stored artifactwasted work; amplification when the fault is not independentthe dependency, at its worst moment
Keep the logreconstruction of any state, no failure diagnosis neededdeterminism you cannot verify; headroom that caps utilizationthe operator, as an unexplained utilization target
a bound on recovery distancesteady-state stall plus a collector for old checkpointsthe write path, continuously
about 10⁻⁹ of the storage for full reconstructability amplification; needs immutable sourcesthe scheduler, at the worst moment
Hot RTO ≈ 0a full duplicate, plus = lag, plus fencing complexitycapital cost, always
Intent + scanresolvable ambiguity at every boundary2× write amplification; an index of in-flight workthe critical path, per operation
Immutabilityundo as a pointer move; retires most of space and cleaning work; retention bounds the windowthe janitor, and the storage bill
restored independence for retrya classifier that can exclude the whole fleetcapacity, silently

Two escapes have no real cost and are reached for last: structuring the operation so the irreversible act is last, and making the recovery path by version comparison rather than by care.