What distributed consistency forbids
What this group forbids
- Local reads and local writes under any model at or above sequential consistency (
r + w ≥ d). - Linearizable operations cheaper than the delay uncertainty. This is permanent, not an engineering gap.
- Causal consistency capturing causality that left the system.
- Convergence without either arbitration (which loses writes) or an algebra (which restricts operations).
- Falsifying an "eventually" claim in finite time, and so monitoring or alarming on one.
- Composition: of sequential consistency, of per-request quorum levels, of session guarantees across components that do not carry the token.
- Tombstone collection without global knowledge.
- Recency from R + W > N alone.
- A CRDT enforcing an invariant that is not preserved under merge.
- Noticing any of the above from inside a single node.
Escapes and what each costs
| Escape | Buys | Pays |
|---|---|---|
| Route all reads to the leader | Linearizability, simply | One vantage point: geography, availability, a failover story |
| Lease-based local reads | Local linearizable reads | An unverifiable clock bound; silent failure past it |
| Read-index / quorum read | Linearizability without leases | One to two round trips, a write on the read path |
| Bounded staleness | A guarantee you can alarm on | An explicit, negotiated staleness number |
| Causal+ | Availability with sane ordering | Metadata that grows with writers; blindness to out-of-band causality |
| Session tokens | Per-client sanity, cheaply | A token every component must carry, and one that will not be carried |
| Sticky routing | Session guarantees without tokens | A load-balancing constraint that fights failover and scaling |
| LWW | Convergence with no metadata | A silently discarded write, arbitrated by clock skew |
| CRDT | Local reads and writes, convergent | An algebra you must fit into, tombstones, and a collector needing consensus |
| Escrow / bounded counter | A bounded invariant without per-operation coordination | Coordination at reservation exhaustion; unusable reserved quota |
| Per-request tuning | The split chosen where it is known | Non-composable guarantees; the weakest pairing governs |