Alocar um shard primário perdido como último recurso (allocate_stale_primary)
ElasticsearchCluster/NóComando
# Which nodes hold copies of the primary (allocation id, store errors):
GET _shard_stores/musteri?status=red
# Last resort: promote a stale copy to primary; data loss is accepted:
POST _cluster/reroute
{
"commands": [
{
"allocate_stale_primary": {
"index": "musteri",
"shard": 0,
"node": "node-2",
"accept_data_loss": true
}
}
]
}O que faz
Quando o nó que contém a cópia primária atualizada é perdido permanentemente, atribui como primária uma cópia mais antiga (não in-sync) em outro nó para tirar o índice do estado red.
Quando usar
Apenas quando o nó que hospeda o primário não pode ser recuperado e restaurar a partir de um snapshot não é uma opção ou levaria mais tempo.
Atenção
A cópia stale não contém as escritas mais recentes; todas as escritas feitas após essa cópia são perdidas permanentemente. Se o nó perdido voltar depois, a cópia mais recente nele é apagada. Considere primeiro recuperar o nó e restaurar a partir de snapshot. allocate_empty_primary cria o shard completamente vazio e apaga todos os dados desse shard; use apenas quando não restar nenhuma cópia.