version_conflict_engine_exception: version_conflict_engine_exception: [_doc][id]: version conflict, current version [x] is different than the one provided [y] (HTTP 409)
ElasticsearchNe demek?
Optimistic concurrency control (iyimser eşzamanlılık) nedeniyle bir belge güncelleme/silme isteği reddedildi. Belgenin sürümü (veya _seq_no/_primary_term) istekte verilenle eşleşmiyor; yani belge, siz okuduktan sonra başkası tarafından değiştirilmiş. HTTP 409 döner.
Neden olur?
Aynı belgenin eşzamanlı güncellenmesi, eski version/seq_no ile yazma denemesi, create (op_type=create) ile zaten var olan belgeyi oluşturma girişimi veya _bulk sırasında yarış koşulu.
Nasıl çözülür?
Belgeyi yeniden okuyup güncel _seq_no ve _primary_term (veya version) ile isteği tekrarlayın (read-modify-write döngüsü). Otomatik yeniden deneme için _update isteğinde retry_on_conflict parametresini kullanın; _update_by_query/_delete_by_query'de çakışan belgeleri atlayıp devam etmek için conflicts=proceed verin. Yalnızca oluşturma amaçlıysa çakışma normaldir; uygulamada 409'u yakalayıp uygun şekilde ele alın (yeniden dene veya atla).
Aynı motorda diğer kayıtlar
- 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
- search_phase_execution_exceptionsearch_phase_execution_exception: all shards failed / Failed to execute phase [query]
- too_many_clausestoo_many_clauses: maxClauseCount is set to 1024 (query contains too many clauses)
- document_missing_exceptiondocument_missing_exception: [_doc][id]: document missing
- index_not_found_exceptionindex_not_found_exception: no such index [index_name] (HTTP 404)
- resource_already_exists_exceptionresource_already_exists_exception: index [index_name/uuid] already exists (HTTP 400)
- cluster_health_redcluster health status: RED / unassigned shards