<p dir="auto">In org.elasticsearch.transport.netty.MessageChannelHandler i found</p>
<p dir="auto">if (handler.executor() == ThreadPool.Names.SAME) {</p>
<p dir="auto">It seems there is a problem with applications using ES but only the TransportClient. TransportClient should not depend on Lucene jars AFAIK.</p>
<p dir="auto">But now such applications will bark with</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: org/apache/lucene/store/IndexOutput
        at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
        at java.util.concurrent.FutureTask.get(FutureTask.java:111)
        at org.xbib.importer.ImportService.waitFor(ImportService.java:124)
        at org.xbib.importer.ImportService.run(ImportService.java:82)
        at org.xbib.tools.medline.ElasticsearchMedlineIndexer.main(ElasticsearchMedlineIndexer.java:110)
Caused by: java.lang.NoClassDefFoundError: org/apache/lucene/store/IndexOutput
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        at org.elasticsearch.common.compress.CompressorFactory.&lt;clinit&gt;(CompressorFactory.java:36)
        at org.elasticsearch.transport.support.TransportStreams.buildRequest(TransportStreams.java:109)
        at org.elasticsearch.transport.netty.NettyTransport.sendRequest(NettyTransport.java:453)
        at org.elasticsearch.transport.TransportService.sendRequest(TransportService.java:185)
        at org.elasticsearch.action.TransportActionNodeProxy.execute(TransportActionNodeProxy.java:63)
        at org.elasticsearch.client.transport.support.InternalTransportClient$2.doWithNode(InternalTransportClient.java:100)
        at org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:214)
        at org.elasticsearch.client.transport.support.InternalTransportClient.execute(InternalTransportClient.java:97)
        at org.elasticsearch.client.support.AbstractClient.bulk(AbstractClient.java:141)
        at org.elasticsearch.client.transport.TransportClient.bulk(TransportClient.java:328)
        at org.elasticsearch.action.bulk.BulkRequestBuilder.doExecute(BulkRequestBuilder.java:128)
        at org.elasticsearch.action.support.BaseRequestBuilder.execute(BaseRequestBuilder.java:53) [...]"><pre class="notranslate"><code class="notranslate">java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: org/apache/lucene/store/IndexOutput
        at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
        at java.util.concurrent.FutureTask.get(FutureTask.java:111)
        at org.xbib.importer.ImportService.waitFor(ImportService.java:124)
        at org.xbib.importer.ImportService.run(ImportService.java:82)
        at org.xbib.tools.medline.ElasticsearchMedlineIndexer.main(ElasticsearchMedlineIndexer.java:110)
Caused by: java.lang.NoClassDefFoundError: org/apache/lucene/store/IndexOutput
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        at org.elasticsearch.common.compress.CompressorFactory.&lt;clinit&gt;(CompressorFactory.java:36)
        at org.elasticsearch.transport.support.TransportStreams.buildRequest(TransportStreams.java:109)
        at org.elasticsearch.transport.netty.NettyTransport.sendRequest(NettyTransport.java:453)
        at org.elasticsearch.transport.TransportService.sendRequest(TransportService.java:185)
        at org.elasticsearch.action.TransportActionNodeProxy.execute(TransportActionNodeProxy.java:63)
        at org.elasticsearch.client.transport.support.InternalTransportClient$2.doWithNode(InternalTransportClient.java:100)
        at org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:214)
        at org.elasticsearch.client.transport.support.InternalTransportClient.execute(InternalTransportClient.java:97)
        at org.elasticsearch.client.support.AbstractClient.bulk(AbstractClient.java:141)
        at org.elasticsearch.client.transport.TransportClient.bulk(TransportClient.java:328)
        at org.elasticsearch.action.bulk.BulkRequestBuilder.doExecute(BulkRequestBuilder.java:128)
        at org.elasticsearch.action.support.BaseRequestBuilder.execute(BaseRequestBuilder.java:53) [...]
</code></pre></div>
<p dir="auto">Is this by accident or do I need to always include Lucene jars in my ES client applications?</p>