NOTE
Elasticsearch Concurrency Control
Optimistic concurrency using sequence numbers and primary terms, plus idempotent update and retry design.
This is a historical learning note and may contain outdated or incomplete understanding.
Concurrent writers can overwrite each other’s logical updates if application code performs a read-modify-write cycle without a concurrency condition.
Modern Elasticsearch exposes optimistic concurrency using operation sequence number and primary term. A write can require the document to still match the observed version state; otherwise it fails with a conflict and the application can recompute/retry deliberately.
Retries must re-read/recompute when business semantics require it. Blindly retrying a stale write can preserve the lost-update bug under a different name.