El intercambio de alias atómico falla con index_not_found_exception en un índice totalmente no relacionado
Quiero reemplazar e indexar con tiempo de inactividad cero, como se describe enla documentación de ES.
Lo estoy haciendo por:
creando un nuevo índicemy_index_v2
con los nuevos datosrefrescando el nuevo índiceluego intercambiándolos en una operación atómica, realizando la siguiente solicitud:POST /_aliases
{
"actions": [
{ "remove": { "index": "*", "alias": "my_index" }},
{ "add": { "index": "my_index_v2", "alias": "my_index" }}
]
}
Esto funciona como se esperaba, excepto cuando falla aleatoriamente con la respuesta 404. El mensaje de error es:
{
"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
}
Después, y solo si el intercambio funcionó, eliminamos los índices ahora no utilizados que estaban asociados con este y solo este alias.Toda la operación ocurre periódicamente cada pocos minutos. Operaciones similares a la descrita pueden ocurrir al mismo tiempo en el clúster, en otros alias / índices. El error ocurre al azar, cada varias horas.
¿Hay alguna razón por la cual estas operaciones interfieran entre sí? Que esta pasando?
EDITAR: aclaró el paso ELIMINAR al final.