Encontrar, cancelar ou limitar tarefas de busca e de reindex de longa duração
ElasticsearchManutençãoComando
# Longest running tasks:
GET _cat/tasks?v&detailed&h=action,task_id,parent_task_id,running_time,node,description&s=running_time:desc
# Search, reindex and by-query tasks, grouped by parent:
GET _tasks?actions=*search*,*reindex*,*byquery*&detailed=true&group_by=parents
# Cancel a single task:
POST _tasks/<task_id>/_cancel
# Cancel all search tasks (with care):
POST _tasks/_cancel?actions=*search*
# Slow down a running reindex/update_by_query:
POST _reindex/<task_id>/_rethrottle?requests_per_second=500O que faz
Ordena por duração as tarefas em execução no cluster, mostra buscas e operações bulk com as descrições das consultas; cancela uma tarefa selecionada ou todas as buscas e limita jobs de reindex/by-query.
Quando usar
Quando o thread pool de search enche, a CPU sobe de repente, um dashboard sobrecarrega o cluster com uma agregação pesada ou um update_by_query afeta a produção.
Atenção
O cancelamento é cooperativo: a tarefa para no próximo checkpoint; algumas fases (ex.: force merge) não podem ser canceladas. Cancelar todas as buscas retorna erros aos usuários. Um reindex/by-query cancelado não desfaz as mudanças feitas até ali; o destino contém dados parciais. Quando uma tarefa pai é cancelada, as tarefas filhas também são.