es_rejected_execution_exception: es_rejected_execution_exception: выполнение ... на ... отклонено (ёмкость очереди ...) (HTTP 429)
ElasticsearchЧто это значит?
Операция отклонена, поскольку очередь соответствующего пула потоков (search, write/bulk и т. д.) заполнена. При перегрузке Elasticsearch защищает себя, отклоняя запросы (backpressure), и возвращает HTTP 429 (Too Many Requests).
Почему возникает?
Очень большой объём параллельных запросов, очень крупные или очень частые bulk-запросы, высокая нагрузка агрегаций/поиска, недостаточные ресурсы узлов/CPU или слишком маленькая для нагрузки очередь пула потоков.
Как исправить
Повторяйте запросы на стороне клиента с экспоненциальной задержкой; 429 обычно временная ошибка. Уменьшите размер пакетов bulk и скорость отправки, снизьте параллельность. Отслеживайте отклонённые операции: GET _cat/thread_pool?v&h=node_name,name,active,queue,rejected. При устойчивой нагрузке добавьте узлы/ресурсы (горизонтальное масштабирование). Увеличение размера очереди — последнее средство; первопричина — ёмкость.
Ещё по этой СУБД
- resource_already_exists_exceptionresource_already_exists_exception: индекс [index_name/uuid] уже существует (HTTP 400)
- cluster_health_redСостояние кластера: RED / неназначенные шарды
- no_shard_available_action_exceptionno_shard_available_action_exception: нет доступного шарда для [...]
- master_not_discovered_exceptionmaster_not_discovered_exception / MasterNotDiscoveredException
- security_exceptionsecurity_exception: не удаётся выполнить аутентификацию / действие [...] не разрешено пользователю [...] (HTTP 401/403)
- validation_exceptionvalidation_exception / illegal_argument_exception: проверка не пройдена: ...
- task_cancelled_exceptiontask_cancelled_exception: задача отменена / TaskCancelledException