Конфликт Elasticsearch во время переиндексации с помощью opType Create
Я использовал API переиндексации с opType=create и ожидал, что конфликты будут невозможны, поскольку будут вставлены только новые записи. Но я получаю сообщение о конфликте. В чем дело? Имеет ли elasticsearch промежуток времени между проверкой существования документа и его вставкой во время переиндексации (без использования какого-либо CAS)? Означает ли это, что если я установлю конфликтыproceed
Я получу ожидаемое поведение при вставке только отсутствующих документов? Или мне нужно реализовать блокировку\мьютекс на стороне клиента?
Ошибка, которую я получаю в задачах:
{
"completed": true,
"task": {
"node": "xxx",
"id": 63525604,
"type": "transport",
"action": "indices:data/write/reindex",
"status": {
"total": 1101727,
"updated": 0,
"created": 240999,
"deleted": 0,
"batches": 241,
"version_conflicts": 1,
"noops": 0,
"retries": {
"bulk": 0,
"search": 0
},
"throttled_millis": 479999,
"requests_per_second": 500,
"throttled_until_millis": 0
},
"description": "reindex from [xxx] to [xxx][_doc]",
"start_time_in_millis": 1696388661522,
"running_time_in_nanos": 554683695369,
"cancellable": true,
"cancelled": false,
"headers": {}
},
"response": {
"took": 554678,
"timed_out": false,
"total": 1101727,
"updated": 0,
"created": 240999,
"deleted": 0,
"batches": 241,
"version_conflicts": 1,
"noops": 0,
"retries": {
"bulk": 0,
"search": 0
},
"throttled": "7.9m",
"throttled_millis": 479999,
"requests_per_second": 500,
"throttled_until": "0s",
"throttled_until_millis": 0,
"failures": [
{
"index": "xxx",
"type": "_doc",
"id": "xxx",
"cause": {
"type": "version_conflict_engine_exception",
"reason": "[xxx]: version conflict, document already exists (current version [3])",
"index_uuid": "xxx",
"shard": "0",
"index": "xxx"
},
"status": 409
}
]
}
}