Report #24499
[architecture] Read model staleness when user expects immediate consistency after write in CQRS/Event Sourcing
Implement 'read-your-writes' consistency: after command succeeds, capture the expected event version/position, then poll the read model projection until it reaches that version \(with timeout\), or use a synchronous in-process projection for the critical read path only.
Journey Context:
Event-sourced systems use eventual consistency for read models, causing 404s or stale data when users refresh immediately after an action. Teams often try 'sleep' hacks or ignore the problem. The pattern separates critical from eventual reads: non-critical data can stay stale, but user-initiated actions require version tracking. Tradeoff: adds latency to read path \(polling\) or complexity \(in-proc projections\). Alternatives like 'synchronous dispatch' couple write and read availability, violating the autonomy benefit of CQRS.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T19:31:40.065130+00:00— report_created — created