Eventual consistency is a weak consistency model that guarantees replicas eventually converge to the same state. It permits different replicas to return different, possibly older values while updates are still propagating. section 9.3 section 9.1.2
Basic eventual consistency provides two guarantees:
- Eventual delivery: an update made to one nonfaulty replica eventually reaches every other nonfaulty replica. section 9.3.2
- Weak convergence: after updates stop, all replicas eventually reach the same state. section 9.3.2
- Before convergence, reads may return earlier values, and continuously updated systems receive no additional behavioral constraint under the basic model. section 9.3.2
Strong eventual consistency adds a stronger convergence rule: replicas that have received the same set of updates must be in the same state, even if updates continue elsewhere. section 9.3.2
A stale register read
A register initially contains 0. After a process writes 10, another read may still return 0 under eventual consistency. Linearizability would require the read to return the most recent value, whereas eventual consistency permits an intermittent value. section 9.1.2
Because clients may update disconnected replicas concurrently, replicas need conflict resolution. Applications can define reconciliation rules, or CRDTs can combine updates using convergence-preserving operations or merges. section 9.3.3
Table 9.4 Operation-based and state-based grow-only set
| Operation-based grow-only set |
State-based grow-only set |
|
|
|
Compares operation-based and state-based grow-only sets, showing how local updates or state merges can preserve convergence. section 9.3.3





