DBAtlas · Atlas de operações de banco de dados

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.

Abrir no DBAtlas →

Relacionados