-
Notifications
You must be signed in to change notification settings - Fork 25.6k
Closed
Labels
:Distributed Indexing/EngineAnything around managing Lucene and the Translog in an open shard.Anything around managing Lucene and the Translog in an open shard.high hanging fruit
Description
Elasticsearch currently supports CAS operations (needed for optimistic concurrency) using a document _version field. Sadly this is not water tight and can go wrong if a primary fails between the read and the CAS write operation. To remedy this we need to move to using a document's _seq_no and _primary_term fields as an identifier for CAS operations.
To do so we will add two parameters to write operations - _expected_seq_no and _expected_primary_term. When set, those parameters will require the document to have exactly the expected values in the respective fields for a successful write.
Note that this can co-exists with the the current _version based method, which we can phase out or make optional later on.
Relates #10708
Metadata
Metadata
Assignees
Labels
:Distributed Indexing/EngineAnything around managing Lucene and the Translog in an open shard.Anything around managing Lucene and the Translog in an open shard.high hanging fruit