Кажется, это исправлено в версии 5.3? не могли бы вы дать ему шанс?
у заменить и индексировать с нулевым временем простоя, как описано вдокументация ES.
Я делаю это путем:
создание нового индексаmy_index_v2
с новыми даннымиОбновление нового индексазатем обменять их в атомарной операции, выполнив следующий запрос:POST /_aliases
{
"actions": [
{ "remove": { "index": "*", "alias": "my_index" }},
{ "add": { "index": "my_index_v2", "alias": "my_index" }}
]
}
Это работает, как и ожидалось, за исключением случаев, когда случайным образом происходит сбой с ответом 404. Сообщение об ошибке:
{
"error": {
"root_cause": ... (same)
"type": "index_not_found_exception",
"reason": "no such index",
"resource.type": "index_or_alias",
"resource.id": "my_unrelated_index_v13",
"index": "my_unrelated_index_v13"
},
"status": 404
}
После этого, и только если это произошло, мы удаляем неиспользуемые индексы, которые были связаны с этим и только с этим псевдонимом.Вся операция происходит периодически каждые несколько минут. Операции, аналогичные описанным, могут происходить в кластере одновременно с другими псевдонимами / индексами. Ошибка происходит случайно, каждые несколько часов.
Есть ли причина, по которой эти операции будут мешать друг другу? Что происходит?
РЕДАКТИРОВАТЬ: уточнил шаг УДАЛИТЬ в конце.