OhMyBug

persistence/transactions

Whole-Record Write Without Version Check

#40rare17 sightingsfirst seen August 2026

What goes wrong

A writer reads a whole record, changes one part and writes the whole thing back (or unconditionally sets a high-water mark, or stamps rows in a sweep) with no version check — no 'write only if it is still what I read', i.e. compare-and-set — that the record's other writers rely on, so a concurrent or later legitimate write is silently erased: the classic lost update.

Example

Two browser tabs each load the settings JSON, change one field and save the whole object; the second save wipes the first tab's change.

Not to be confused with

No version check exists at all, unlike a version token that is present but taken from the wrong place (Laundered Version Token); the writer is not a former owner writing after losing ownership (Ghost Owner Write), and the loss can be sequential as well as concurrent.

Discovered by

Field notes · 10