version_conflict_engine_exception: version_conflict_engine_exception: [_doc][id]: version conflict, current version [x] is different than the one provided [y] (HTTP 409) (Versionskonflikt)
ElasticsearchWas bedeutet das?
Eine Update-/Delete-Anfrage für ein Dokument wurde von der optimistischen Nebenläufigkeitskontrolle abgelehnt. Die Dokumentversion (bzw. _seq_no/_primary_term) stimmt nicht mit der in der Anfrage überein; jemand anderes hat das Dokument also nach deinem Lesen geändert. Liefert HTTP 409.
Ursache
Parallele Updates desselben Dokuments, ein Schreibversuch mit veralteter version/seq_no, der Versuch, ein bereits existierendes Dokument anzulegen (op_type=create), oder eine Race Condition bei _bulk.
Lösung
Lies das Dokument erneut und wiederhole die Anfrage mit den aktuellen Werten _seq_no und _primary_term (bzw. version) (Read-Modify-Write-Schleife). Verwende für automatische Wiederholungen den Parameter retry_on_conflict in der _update-Anfrage; übergib bei _update_by_query/_delete_by_query conflicts=proceed, um kollidierende Dokumente zu überspringen und fortzufahren. Ist nur Anlegen beabsichtigt, ist der Konflikt normal; fange 409 in der Anwendung ab und behandle ihn passend (wiederholen oder überspringen).
Weitere Einträge zu dieser Datenbank
- illegal_argument_exception_fielddataillegal_argument_exception: Fielddata is disabled on text fields by default. Set fielddata=true on [your_field] in order to load fielddata in memory (Fielddata auf text-Feldern standardmäßig deaktiviert)
- search_phase_execution_exceptionsearch_phase_execution_exception: all shards failed / Failed to execute phase [query] (Suche auf allen Shards fehlgeschlagen)
- too_many_clausestoo_many_clauses: maxClauseCount is set to 1024 (query contains too many clauses) (zu viele Klauseln in der Abfrage)
- document_missing_exceptiondocument_missing_exception: [_doc][id]: document missing (Dokument fehlt)
- index_not_found_exceptionindex_not_found_exception: no such index [index_name] (HTTP 404) (Index nicht gefunden)
- resource_already_exists_exceptionresource_already_exists_exception: index [index_name/uuid] already exists (HTTP 400) (Index existiert bereits)
- cluster_health_redcluster health status: RED / unassigned shards (Clusterzustand RED / nicht zugewiesene Shards)