EsRejectedExecutionException[rejected execution (queue capacity 1000)

32 views
Skip to first unread message

Inferut Realian

unread,
Mar 23, 2015, 6:16:06 AM3/23/15
to elastics...@googlegroups.com
Добрый день!

elasticsearch Version: 1.4.2

С недавних пор начали сталкиваться с ошибкой: 
EsRejectedExecutionException[rejected execution (queue capacity 1000).

Данная ошибка появляется спонтанно и после этого не позволяет выполнить ни 1 запрос. Никаких параллельных запросов нет, однако при попытке сделать любую выборку, даже для 1 шарда, постояно выбрасывает это исключение. Пытались применять slowlog, однако он не прояснил ситуации - после стндартных запросов, процесс эластика просто перестает обрабатывать выборки. 

В чем может быть причина ошибки? Возможно ли как-то отследить выборку которая в данный момент выполняется? 
Будем признательный за любую помощь.

Igor Motov

unread,
Mar 23, 2015, 9:54:11 AM3/23/15
to elastics...@googlegroups.com
Elasticsearch выполняет поиск на потоках из специального пула потоков, который состоит из N*3 потоков (N - количество процессоров) и очереди из 1000 ячеек. Каждый поиск по каждой шарде выполняется на своем потоке. Если потоков не хватает, операция поиска добавляется в очередь, когда очередь переполняется - вы получаете эту ошибку. 

Сколько у вас шард и нод в кластере? Что значит "никаких параллельных запросов нет"? У вас один пользователь в системе? Какой клиент вы используете и установлен ли у него тайм-аут?

Что бы понять что зависло, проще всего в момент зависания запустить curl localhost:9200/_nodes/hot_threads Эта команда покажет, где застряли потоки, и по этой информации, можно будет вычислить, какого типа запросы выполнялись. 

Inferut Realian

unread,
Mar 23, 2015, 12:04:33 PM3/23/15
to elastics...@googlegroups.com
Спасибо за ответ. На текущий момент это тестовое приложение, поэтому там всего 1 нода и нет никаких сторонних пользователей. Всего имеется 19 индексов, у каждого из которых 10 шардов. Мы используем стандартный PHP клиент для работы с эластиком и не указываем тайм-аут. 

понедельник, 23 марта 2015 г., 15:54:11 UTC+2 пользователь Igor Motov написал:
Reply all
Reply to author
Forward
0 new messages