# "invalid version format" from Netty

**URL:** <https://discuss.elastic.co/t/invalid-version-format-from-netty/9328>\
**Category:** Elasticsearch\
**Created:** [October 11, 2012, 7:46pm UTC](https://discuss.elastic.co/t/invalid-version-format-from-netty/9328 "2012-10-11T19:46:40Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Andrew\_Clegg](https://avatars.discourse-cdn.com/v4/letter/a/a88e4f/32.png) [@Andrew\_Clegg](https://discuss.elastic.co/u/Andrew_Clegg)\
**Post date:** [October 11, 2012, 7:46pm UTC](https://discuss.elastic.co/t/invalid-version-format-from-netty/9328/1 "2012-10-11T19:46:40Z")

</div>

We've seen a couple of failed requests accompanied by weird errors from  
Netty in the logs, while testing queries on a cluster that's on reasonably  
heavy indexing load, see below.

Looks like Netty's been passed a URL _and_ an HTTP version string where it  
expected just a version string.

Sorry I can't be more specific about the kinds of queries that cause them  
right now, if I find a repeatable case I'll follow up.

Any ideas? Thanks!

[2012-10-11 17:34:33,113][WARN][http.netty] [Ant-Man] Caught exception while handling client http traffic, closing connection [id: 0x37df3ab1, /10.150.164.43:45387 =\> /10.150.164.43:9200]  
java.lang.IllegalArgumentException: invalid version format: LOADED/\_SEARCH?SEARCH\_TYPE=COUNT HTTP/1.1  
at org.elasticsearch.common.netty.handler.codec.http.HttpVersion.(HttpVersion.java:102)  
at org.elasticsearch.common.netty.handler.codec.http.HttpVersion.valueOf(HttpVersion.java:62)  
at org.elasticsearch.common.netty.handler.codec.http.HttpRequestDecoder.createMessage(HttpRequestDecoder.java:76)  
at org.elasticsearch.common.netty.handler.codec.http.HttpMessageDecoder.decode(HttpMessageDecoder.java:189)  
at org.elasticsearch.common.netty.handler.codec.http.HttpMessageDecoder.decode(HttpMessageDecoder.java:101)  
at org.elasticsearch.common.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:502)  
at org.elasticsearch.common.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:437)  
at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:75)  
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:563)  
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)  
at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:74)  
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:563)  
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:558)  
at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:268)  
at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:255)  
at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioWorker.java:91)  
at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:373)  
at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:247)  
at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)  
at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102)  
at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)  
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)  
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)  
at java.lang.Thread.run(Thread.java:662)  
[2012-10-11 17:34:33,131][WARN][http.netty] [Ant-Man] Caught exception while handling client http traffic, closing connection [id: 0x37df3ab1, /10.150.164.43:45387 :\> /10.150.164.43:9200]  
java.lang.IllegalArgumentException: empty text  
at org.elasticsearch.common.netty.handler.codec.http.HttpVersion.(HttpVersion.java:97)  
at org.elasticsearch.common.netty.handler.codec.http.HttpVersion.valueOf(HttpVersion.java:62)  
at org.elasticsearch.common.netty.handler.codec.http.HttpRequestDecoder.createMessage(HttpRequestDecoder.java:76)  
at org.elasticsearch.common.netty.handler.codec.http.HttpMessageDecoder.decode(HttpMessageDecoder.java:189)  
at org.elasticsearch.common.netty.handler.codec.http.HttpMessageDecoder.decode(HttpMessageDecoder.java:101)  
at org.elasticsearch.common.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:502)  
at org.elasticsearch.common.netty.handler.codec.replay.ReplayingDecoder.cleanup(ReplayingDecoder.java:557)  
at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.channelDisconnected(FrameDecoder.java:331)  
at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:107)  
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:563)  
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)  
at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:74)  
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:563)  
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:558)  
at org.elasticsearch.common.netty.channel.Channels.fireChannelDisconnected(Channels.java:399)  
at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.close(AbstractNioWorker.java:617)  
at org.elasticsearch.common.netty.channel.socket.nio.NioServerSocketPipelineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:109)  
at org.elasticsearch.common.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:66)  
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:779)  
at org.elasticsearch.common.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:55)  
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:590)  
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:581)  
at org.elasticsearch.common.netty.channel.Channels.close(Channels.java:821)  
at org.elasticsearch.common.netty.channel.AbstractChannel.close(AbstractChannel.java:195)

--

---

<div class="post-metadata">

**Author:** ![drewr](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/drewr/32/7803_2.png) [@drewr](https://discuss.elastic.co/u/drewr)\
**Post date:** [October 11, 2012, 9:49pm UTC](https://discuss.elastic.co/t/invalid-version-format-from-netty/9328/2 "2012-10-11T21:49:10Z")

</div>

Andrew Clegg wrote:

> We've seen a couple of failed requests accompanied by weird errors  
> from Netty in the logs, while testing queries on a cluster that's  
> on reasonably heavy indexing load, see below.
> 
> Looks like Netty's been passed a URL _and_ an HTTP version string  
> where it expected just a version string.

When this happens on the intracluster communication port (9300+), it  
usually means you have nodes with differing versions of ES trying to  
communicate with each other. I'm not sure what it means with HTTP.  
Do you know anything about this client coming from  
10.150.164.43:45387? Is it under your control?

-Drew

--

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 3:09am UTC](https://discuss.elastic.co/t/invalid-version-format-from-netty/9328/3 "2017-07-06T03:09:13Z")

</div>


