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

Realocar shards que atingiram o limite de tentativas (reroute retry_failed)

ElasticsearchCluster/Nó

Comando

# Attempt count and last failure details:
GET _cluster/allocation/explain?filter_path=index,shard,unassigned_info.reason,unassigned_info.failed_allocation_attempts,unassigned_info.details,allocate_explanation
# After fixing the cause, retry shards that hit the limit:
POST _cluster/reroute?retry_failed=true&metric=none
# Recovery progress:
GET _cat/recovery?v&active_only=true&h=index,shard,stage,source_node,target_node,bytes_percent,translog_ops_percent

O que faz

Mostra os detalhes de falha dos shards cuja alocação foi interrompida após falhas consecutivas (ALLOCATION_FAILED, max_retry) e dispara a alocação novamente; monitora o progresso do recovery.

Quando usar

Quando o allocation explain mostra 'shard has exceeded the maximum number of retries'; após resolver um disco cheio, um translog corrompido ou um problema de rede transitório.

Atenção

Rodar retry_failed sem corrigir a causa faz o shard tentar mais 5 vezes e falhar de novo; resolva primeiro o erro em unassigned_info.details. Se muitos shards entrarem em recovery de uma vez, a carga de rede e disco sobe; isso é limitado por cluster.routing.allocation.node_concurrent_recoveries e indices.recovery.max_bytes_per_sec.

Abrir no DBAtlas →

Relacionados