DBAtlas · Veritabanı operasyon atlası

version_conflict_engine_exception: version_conflict_engine_exception: [_doc][id]: version conflict, current version [x] is different than the one provided [y] (HTTP 409)

Elasticsearch

Ne 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).

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar