OhMyBug

concurrency/state

Result Mixes Reads From Different Times

#62uncommon67 sightingsfirst seen August 2026

What goes wrong

One response, screen, or stored record is assembled from values read at different moments or from different sources (a replica and the primary, a cache and the server). Each value was correct when read, but together they describe a state that never existed — the total does not match the line items.

Example

A wallet screen shows the balance from a cached read and the transaction list from a live call two seconds later; the list includes a payment the balance does not.

Not to be confused with

Neither read is wrong on its own, unlike a single cache left stale after a write (Missed Cache Invalidation After Write) or old data sent with a fresh version number (Stale Data With Fresh Version).

Discovered by

Field notes · 21