Read-Your-Writes Consistency

Read-your-writes consistency is a session guarantee: if a process performs a write, then any subsequent read by that same process must observe the effects of that write. As the Jepsen consistency reference states it, if a process performs a write w and later performs a read r, then r must reflect w. It is a per-process promise, not a global one, so other clients may still see the older value for a time.

The model exists to eliminate a specific and confusing failure of weakly consistent systems: a user saves a change, immediately reloads, and the change appears to be gone because the read landed on a replica that has not yet received the update. Read-your-writes consistency rules out that experience for the person who made the change, which is usually exactly the guarantee an interactive application needs.

This is a relatively weak guarantee compared to linearizability or strong consistency, because it says nothing about what other processes observe or about the relative ordering of unrelated operations. The Jepsen reference notes it is sticky available: during a network partition, every node can keep serving as long as each client continues talking to the same server, so the session’s writes remain visible to that session.

In practice read-your-writes is one of the session guarantees layered on top of an otherwise eventually consistent store, often by routing a client’s reads to a replica known to hold its recent writes or by tracking the version the client has already seen. It buys the most important slice of consistency for user-facing apps without paying the coordination cost of making the whole system strongly consistent.

Sources

Last verified June 8, 2026