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意味
ドキュメントの更新/削除要求が楽観的同時実行制御により拒否された。ドキュメントのバージョン (または _seq_no/_primary_term) が要求内のものと一致しない。つまり、読み取った後に別の誰かがドキュメントを変更した。HTTP 409 を返す。
原因
同じドキュメントへの同時更新、古い version/seq_no での書き込み試行、既存ドキュメントの作成 (op_type=create) の試行、または _bulk 中の競合状態。
対処方法
ドキュメントを再度読み取り、現在の _seq_no と _primary_term (または version) で要求を再試行する (read-modify-write ループ)。自動再試行には _update 要求の retry_on_conflict パラメータを使う。_update_by_query/_delete_by_query では conflicts=proceed を指定して競合するドキュメントをスキップして続行する。作成のみが目的なら競合は正常であり、アプリケーションで 409 を捕捉して適切に処理する (再試行またはスキップ)。
同じデータベースの他の項目
- 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(text フィールドの fielddata はデフォルトで無効)
- 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(クラスタの健全性 RED / 未割り当てシャード)