38

Distributed Systems

Two Generals Problem

Impossibility of Guaranteed Agreement.

The article

If

Two parties communicating over an unreliable channel can never be certain they have reached agreement — every message needs an acknowledgment, which itself needs an acknowledgment, forever. No fixed number of messages yields common knowledge.

Then

Never assume "I sent it, so they got it." Make every cross-network action safely retryable and idempotent, and reconcile state instead of trusting a single round-trip.

Unless

Idempotency / Eventual Consistency / Acknowledged Retries

Source

E. A. Akkoyunlu, K. Ekanadham & R. V. Huber (1975); framed as a database problem by Jim Gray, Notes on Data Base Operating Systems (1978).

Go to the source

See also