and the stack trace was just of how I called execute() on the request
// execute the request
SearchResponse response;
try {
response = request.execute().get();
} catch (ExecutionException e) {
throw new RuntimeException(e);
} catch (InterruptedException e) {
throw new UncheckedInterruptedException(e);
}
In order to find the root cause of this exception, I had to
set logger.action=TRACE to be able to find that it was actually a full
thread pool queue.
2013-10-22 16:12:57,623 -0400 TRACE [elasticsearch[Rawhide
Kid][transport_server_worker][T#4]{New I/O worker #21}] search.type -
[Rawhide Kid] Error during transport action execution.
org.elasticsearch.common.util.concurrent.EsRejectedExecutionException:
rejected execution of
[org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction$2]
at
org.elasticsearch.common.util.concurrent.EsAbortPolicy.rejectedExecution(EsAbortPolicy.java:35)
at
java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:821)
at
java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1372)
Why was it that the EsRejectedExecutionException didn't show up in the
stack trace of the RemoteTransportException that showed up in my client
code?
the EsRejectedExecutionException was wrapped in a RemoteTransportException
because it needed to be send over the wire. Not sure on the top of my head,
but maybe the ExceptionsHelper class has a helper methods for unwrapping.
and the stack trace was just of how I called execute() on the request
// execute the request
SearchResponse response;
try {
response = request.execute().get();
} catch (ExecutionException e) {
throw new RuntimeException(e);
} catch (InterruptedException e) {
throw new UncheckedInterruptedException(e);
}
In order to find the root cause of this exception, I had to
set logger.action=TRACE to be able to find that it was actually a full
thread pool queue.
2013-10-22 16:12:57,623 -0400 TRACE [elasticsearch[Rawhide
Kid][transport_server_worker][T#4]{New I/O worker #21}] search.type -
[Rawhide Kid] Error during transport action execution.
org.elasticsearch.common.util.concurrent.EsRejectedExecutionException:
rejected execution of
[org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction$2]
at
org.elasticsearch.common.util.concurrent.EsAbortPolicy.rejectedExecution(EsAbortPolicy.java:35)
at
java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:821)
at
java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1372)
Why was it that the EsRejectedExecutionException didn't show up in the
stack trace of the RemoteTransportException that showed up in my client
code?
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.