We've been having an ongoing issue with our Elasticsearch server. Seemingly once a week it becomes unresponsive to search queries. (other queries seem to work fine - like _mapping). Below is a small snippet of one of the lines that continue to be added. It seems to add this for every index we have.
What puzzles me is that the logs report on indexes that are not being used. So why would a query fail to execute? (stld_song_search_dev is a development index).
Any help is greatly appreciated as this is our production server!
[2015-06-11 13:17:08,198][DEBUG][action.search.type ] [search1] [stld_song_search_dev][2], node[oY5aYQSLQWOpVyS_DqeOkQ], [P], s[STARTED]: Failed to execute [org.elasticsearch.action.search.SearchRequest@561fc007] lastShard [true]
org.elasticsearch.common.util.concurrent.EsRejectedExecutionException: rejected execution (queue capacity 1000) on org.elasticsearch.search.action.SearchServiceTransportAction$23@398541f8
at org.elasticsearch.common.util.concurrent.EsAbortPolicy.rejectedExecution(EsAbortPolicy.java:62)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:821)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1372)
at org.elasticsearch.search.action.SearchServiceTransportAction.execute(SearchServiceTransportAction.java:551)
at org.elasticsearch.search.action.SearchServiceTransportAction.sendExecuteQuery(SearchServiceTransportAction.java:228)
at org.elasticsearch.action.search.type.TransportSearchCountAction$AsyncAction.sendExecuteFirstPhase(TransportSearchCountAction.java:71)
at org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:176)
at org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.start(TransportSearchTypeAction.java:158)
at org.elasticsearch.action.search.type.TransportSearchCountAction.doExecute(TransportSearchCountAction.java:55)
at org.elasticsearch.action.search.type.TransportSearchCountAction.doExecute(TransportSearchCountAction.java:45)
at org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:75)
at org.elasticsearch.action.search.TransportSearchAction.doExecute(TransportSearchAction.java:108)
at org.elasticsearch.action.search.TransportSearchAction.doExecute(TransportSearchAction.java:43)
at org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:75)
at org.elasticsearch.action.search.TransportMultiSearchAction.doExecute(TransportMultiSearchAction.java:62)
at org.elasticsearch.action.search.TransportMultiSearchAction.doExecute(TransportMultiSearchAction.java:39)
at org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:75)
at org.elasticsearch.client.node.NodeClient.execute(NodeClient.java:98)
at org.elasticsearch.client.support.AbstractClient.multiSearch(AbstractClient.java:364)
at org.elasticsearch.action.search.MultiSearchRequestBuilder.doExecute(MultiSearchRequestBuilder.java:78)
at org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:91)
at org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:65)
at org.elasticsearch.action.ActionRequestBuilder.get(ActionRequestBuilder.java:73)
at org.elasticsearch.search.suggest.phrase.PhraseSuggester.fetchMatchingDocCountResponses(PhraseSuggester.java:184)
at org.elasticsearch.search.suggest.phrase.PhraseSuggester.collate(PhraseSuggester.java:147)
at org.elasticsearch.search.suggest.phrase.PhraseSuggester.innerExecute(PhraseSuggester.java:108)
at org.elasticsearch.search.suggest.phrase.PhraseSuggester.innerExecute(PhraseSuggester.java:53)
at org.elasticsearch.search.suggest.Suggester.execute(Suggester.java:42)
at org.elasticsearch.search.suggest.SuggestPhase.execute(SuggestPhase.java:85)
at org.elasticsearch.search.suggest.SuggestPhase.execute(SuggestPhase.java:74)
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:170)
at org.elasticsearch.search.SearchService.loadOrExecuteQueryPhase(SearchService.java:272)
at org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:283)
at org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:231)
at org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:228)
at org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:559)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
I believe the issue is caused by the search threadpool queue size filling up. But I'm just not able to see why this is happening, how to debug the issue, and fix it.
http://imgur.com/OyRRaFz