version_conflict_engine_exception: version_conflict_engine_exception: [_doc][id]: version conflict, current version [x] is different than the one provided [y] (HTTP 409)
ElasticsearchO que significa?
Uma requisição de update/delete de documento foi rejeitada pelo controle de concorrência otimista. A versão do documento (ou _seq_no/_primary_term) não corresponde à da requisição; ou seja, outra pessoa modificou o documento depois que você o leu. Retorna HTTP 409.
Por que acontece?
Atualizações concorrentes no mesmo documento, uma gravação tentada com version/seq_no desatualizado, uma tentativa de criar (op_type=create) um documento que já existe, ou uma condição de corrida durante _bulk.
Como resolver
Leia o documento novamente e repita a requisição com o _seq_no e o _primary_term (ou version) atuais (loop read-modify-write). Para retries automáticos, use o parâmetro retry_on_conflict na requisição _update; em _update_by_query/_delete_by_query passe conflicts=proceed para pular os documentos em conflito e continuar. Se a intenção for apenas criar, o conflito é normal; capture o 409 na aplicação e trate-o adequadamente (repetir ou pular).
Mais entradas deste banco
- 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 / shards não atribuídos