Hi,
I'm running ES 5.4.1 with the transport client library. I'm running into a dependency issue and below is the error:
(Netty4Utils:117)-NoSuchMethodError io.netty.buffer.CompositeByteBuf.addComponents(ZLjava/lang/Iterable;)Lio/netty/buffer/CompositeByteBuf;
at org.elasticsearch.transport.netty4.Netty4Utils.toByteBuf(Netty4Utils.java:78)
at org.elasticsearch.transport.netty4.Netty4Transport.sendMessage(Netty4Transport.java:422)
at org.elasticsearch.transport.netty4.Netty4Transport.sendMessage(Netty4Transport.java:93)
at org.elasticsearch.transport.TcpTransport.internalSendMessage(TcpTransport.java:1058)
at org.elasticsearch.transport.TcpTransport.sendRequestToChannel(TcpTransport.java:1040)
I did a mvn dependency tree and found the ES depends on both Netty3 and Netty4. I tried to exclude one but to no avail as ES needed the dependency. Does anyone know what's the way around it ?
I think that you have an older version of Netty 4 on your classpath (maybe you accidentally included 4.0.11.Final or you have another dependency that depends on an older version of 4.0.x.Final of Netty? I say this because that method (io.netty.buffer.CompositeByteBuf io.netty.buffer.CompositeByteBuf#addComponents(boolean, java.lang.Iterable)) has existed through the life of the 4.1.x.Final series of Netty but not always in 4.0.x.Final. If you have an older 4.0.x.Final on the classpath then you can see exactly this error. Double check your dependencies and ensure that you have the right version and not a second version (explicitly or transitively).
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.