3

Here is a problem I've repeatedly observed over the years:

  1. a thread writes to something (database record, LDAP entry, etc.)
  2. very soon afterwards, the same thread tries to read the record it just wrote
  3. it gets back the old version of the record, not the new version it just wrote. (Or, the newly created record is reported as not existing. Or, the just deleted record appears to still exist.)

Is there a standard term for this phenomenon?

The most common cause of this phenomenon is with a replicated database (especially LDAP), in which the write and the read get routed to different nodes, and the write has not yet replicated to the read node. (But I'm looking for a term to refer to the phenomenon itself, not that specific cause of it.)

2

1 Answer 1

4

This is called an eventually consistent system. Databases like Cassandra make good use of this model.

To understand why you might want an eventually consistent system, take a look at Brewer's Conjecture and Cap Theorem. It's a trade-off.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.