Réallouer les shards ayant atteint la limite de tentatives (reroute retry_failed)
ElasticsearchCluster/NœudCommande
# 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_percentCe que fait la commande
Affiche les détails d'échec des shards dont l'allocation a été stoppée après des échecs consécutifs (ALLOCATION_FAILED, max_retry) et relance l'allocation ; suit la progression de la recovery.
Quand l'utiliser
Quand allocation explain affiche 'shard has exceeded the maximum number of retries' ; après résolution d'un disque plein, d'un translog corrompu ou d'un problème réseau passager.
Attention
Lancer retry_failed sans corriger la cause fait tenter 5 fois de plus le shard, qui échoue à nouveau ; résolvez d'abord l'erreur indiquée dans unassigned_info.details. Si de nombreux shards entrent en recovery en même temps, la charge réseau et disque augmente ; elle est limitée par cluster.routing.allocation.node_concurrent_recoveries et indices.recovery.max_bytes_per_sec.