The lost update problem describes the scenario where two writes are being done to the same resource, and the one that occurred later does not acknowledge the one that occurred before. Note that the writes do not have the be simultaneous for it to count as a lost update problem, so if one client updated the data of a resource (e.g. on a REST API) and another client did the same thing but didn’t account for the latest modification, then that’s a problem.
One way to resolve this is to require a version when making the change (e.g. xmin
from PostgreSQL, or a last_modified_at
timestamp maintained by a trigger, etc), and if the version doesn’t match.