Skip to content

Optimistic concurrency control for ingest pipelines #77031

Closed
@danhermann

Description

@danhermann

The create or update pipeline API replaces an existing pipeline with the pipeline in the request. In the case where client A performs a read-modify-write sequence on a pipeline, the possibility of an interleaved update from client B to the pipeline in the middle of that sequence could result in the inadvertent loss of client B's changes. Providing the option for optimistic concurrency control on the pipeline API would enable read-modify-write sequences in which clients could be assured that no external changes had been introduced during the sequence.

The proposed implementation would add an if_version query parameter to the API similar to the if_seq_no and if_primary_term parameters used for optimistic concurrency control in Elasticsearch. When this parameter is specified, the pipeline update would succeed only if the existing pipeline's version matched the specified version. If successful, the pipeline's version would automatically be incremented.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions