I am trying to upgrade elasticsearch from 2.3.1. I have a custom search plugin which I have rewritten.
I have installed the plugin in elasticsearch and all my queries are running fine with the node client (for testing). But whenever I am trying to use the transport client it is throwing the below error on the client side.
Caused by: RemoteTransportException[[_V1H0-K][10.79.69.187:9300][indices:data/read/search]]; nested: IllegalStateException[unexpected byte [0x27]];
Caused by: java.lang.IllegalStateException: unexpected byte [0x27]
at org.elasticsearch.common.io.stream.StreamInput.readBoolean(StreamInput.java:409)
at org.elasticsearch.common.io.stream.StreamInput.readBoolean(StreamInput.java:399)
at org.elasticsearch.common.io.stream.StreamInput.readOptionalWriteable(StreamInput.java:710)
at org.elasticsearch.search.builder.SearchSourceBuilder.<init>(SearchSourceBuilder.java:189)
at org.elasticsearch.common.io.stream.StreamInput.readOptionalWriteable(StreamInput.java:711)
at org.elasticsearch.action.search.SearchRequest.readFrom(SearchRequest.java:397)
at org.elasticsearch.transport.TcpTransport.handleRequest(TcpTransport.java:1510)
at org.elasticsearch.transport.TcpTransport.messageReceived(TcpTransport.java:1396)
at org.elasticsearch.transport.netty4.Netty4MessageChannelHandler.channelRead(Netty4MessageChannelHandler.java:75)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:297)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:413)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.handler.logging.LoggingHandler.channelRead(LoggingHandler.java:241)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysPlain(NioEventLoop.java:544)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
at java.lang.Thread.run(Thread.java:748)
I have instantiated by transport client like below
TransportClient transportClient = new PreBuiltTransportClient(settingsBuilder.build(), DocIdDedupPlugin.class);
My plugin code looks like below
public class DocIdDedupPlugin extends Plugin implements SearchPlugin {
@Override
public ArrayList<AggregationSpec> getAggregations() {
final ArrayList<SearchPlugin.AggregationSpec> r = new ArrayList<>();
r.add(new AggregationSpec(
DocIdDedupBuilder.NAME,
DocIdDedupBuilder::new,
DocIdDedupBuilder::parse).addResultReader(InternalDocIdDedup::new)
);
r.add(new AggregationSpec(
SingleBucketDocIdDedupBuilder.NAME,
SingleBucketDocIdDedupBuilder::new,
SingleBucketDocIdDedupBuilder::parse).addResultReader(InternalSingleBucketDocIdDedup::new)
);
r.add(new AggregationSpec(
CollectBuilder.NAME,
CollectBuilder::new,
CollectBuilder::parse).addResultReader(InternalCollect::new)
);
return r;
}
@Override
public List<NamedWriteableRegistry.Entry> getNamedWriteables() {
final ArrayList writeables = new ArrayList();
writeables.add(new NamedWriteableRegistry.Entry(
DocIdDedupBuilder.class,
DocIdDedupBuilder.NAME,
DocIdDedupBuilder::new));
writeables.add(new NamedWriteableRegistry.Entry(
SingleBucketDocIdDedupBuilder.class,
SingleBucketDocIdDedupBuilder.NAME,
SingleBucketDocIdDedupBuilder::new));
writeables.add(new NamedWriteableRegistry.Entry(
CollectBuilder.class,
CollectBuilder.NAME,
CollectBuilder::new));
return writeables;
}
}
Can someone let me know what does this error on the client-side denote and what am I doing wrong?
I am trying to upgrade to elasticsearch 5.6.16 first.