Skip to content
About
Main content
Recurring principle

The end-to-end argument

Guarantees compose to the weakest link, and only endpoint guarantees are real.

What it is

What is achievable is exactly-once effect: the message is delivered many times, and the observable state changes once. The receiver, unlike the channel, can hold state, and state is what the channel lacks. So the guarantee is moved from the transport to the endpoint. This is the end-to-end argument (a correctness property can be provided only by the two endpoints of an operation; lower layers can make it cheaper but cannot supply it). It is the most important cross-cutting idea in this article, and a hypothesis rather than a law. What would disprove it: a guarantee genuinely supplied by an intermediate layer, so that the endpoints need no check of their own. Schema contracts and validation gates make a claim of exactly that kind, so they are the place to look.

From Fault Tolerance & Delivery Semantics › Exactly-once is about effects

A chain A to B to C to D has the semantics of its weakest hop. Three effectively-once hops and one at-most-once hop give at-most-once end to end. The strong hops do not compensate. They only make you confident.

From Data Movement › Composition and verification

Per-request levels do not compose. A QUORUM read after a ONE write is not a quorum-consistent interaction. The guarantee of a sequence is set by its weakest pairing, not its strongest call. This is the same non-composability that disqualified sequential consistency as a building block, now inside a configuration parameter.

From Consistency & Isolation Models › Tunable consistency

Where it appears

In 11 mechanisms. Each says what the mechanism is about, then how this principle shows up there, in its own words.

Made on the same pages most often.