DBAtlas · Атлас эксплуатации баз данных

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. При устойчивой нагрузке добавьте узлы/ресурсы (горизонтальное масштабирование). Увеличение размера очереди — последнее средство; первопричина — ёмкость.

Открыть в DBAtlas →

Ещё по этой СУБД