Read-your-own-writes is a product requirement, not a bug

A user who submits a form and immediately sees stale data reports it as a bug, and it is a consequence of a decision somebody made about replication.

the guarantees, in order of cost:

  eventual          any replica. cheapest. fine for a public page.
  read-your-writes  this user sees their own writes immediately.
  monotonic reads   this user never sees time go backwards.
  strong            everybody sees everything immediately. one node.

pick per SCREEN, not per system.

Naming the guarantee per screen is what makes the conversation tractable: a product listing can be eventually consistent and a checkout confirmation cannot, and stating that is a five-minute conversation rather than an architecture. Sticky sessions to the primary after a write is the usual implementation and it fails for anything asynchronous. Monotonic reads is the one people forget, and its symptom is a page where a value flickers between two values on refresh.