ElasticSearch 0.90.2 StreamCorruptedException on asking port 9300
configuration, elasticsearch, exception
Solution
Nothing is corrupted. The 9300 port is used for inter-node communication and uses an internal binary protocol, thus you can't use it from the browser. In order to use the 9300 port you have to use the Java API, either Node client or Transport client, which both understand the internal binary protocol.
From the browser you should only use the 9200 port, which is the one that exposes the REST API.
Problem
I've just unpacked elasticsearch-0.90.2.zip on Windows XP, and started bin/elasticsearch.bat. I've set JAVA_HOME to C:\Program Files\Java\jre7, as it was a problem at first run. I'm trying to connect it from Google Chrome 27.0.1453.116. According to elasticsearch.yml, "ElasticSearch, by default, binds itself to the 0.0.0.0 address", but 0.0.0.0:9200 responds 108 (net::ERR_ADDRESS_INVALID). localhost:9200 or 127.0.0.1:9200 responds correctly: { "ok" : true, etc. localhost:9300 responds 324 (net::ERR_EMPTY_RESPONSE), and displays StreamCorruptedException in the console window: ``` [2013-07-25 10:42:30,419][WARN ][transport.netty ] [Happy Birthday] exc eption caught on transport layer [[id: 0x478ae9b7, /127.0.0.1:1627 => /127.0.0.1 :9300]], closing connection java.io.StreamCorruptedException: invalid internal transport message format at org.elasticsearch.transport.netty.SizeHeaderFrameDecoder.decode(SizeH eaderFrameDecoder.java:27) at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callD ecode(FrameDecoder.java:425) at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.messa geReceived(FrameDecoder.java:303) at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.h andleUpstream(SimpleChannelUpstreamHandler.java:70) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps tream(DefaultChannelPipeline.java:564) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$Default ChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(Ope nChannelsHandler.java:74) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps tream(DefaultChannelPipeline.java:564) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps tream(DefaultChannelPipeline.java:559) at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(C hannels.java:268) at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(C hannels.java:255) at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioW orker.java:88) at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.p rocess(AbstractNioWorker.java:109) at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector .run(AbstractNioSelector.java:312) at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.r un(AbstractNioWorker.java:90) at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWo rker.java:178) at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(Thread RenamingRunnable.java:108) at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.ru n(DeadLockProofWorker.java:42) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) [2013-07-25 10:42:30,435][WARN ][transport.netty ] [Happy Birthday] exc eption caught on transport layer [[id: 0x478ae9b7, /127.0.0.1:1627 :> /127.0.0.1 :9300]], closing connection java.io.StreamCorruptedException: invalid internal transport message format at org.elasticsearch.transport.netty.SizeHeaderFrameDecoder.decode(SizeH eaderFrameDecoder.java:27) at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callD ecode(FrameDecoder.java:425) at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.clean up(FrameDecoder.java:482) at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.chann elDisconnected(FrameDecoder.java:365) at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.h andleUpstream(SimpleChannelUpstreamHandler.java:102) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps tream(DefaultChannelPipeline.java:564) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$Default ChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(Ope nChannelsHandler.java:74) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps tream(DefaultChannelPipeline.java:564) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps tream(DefaultChannelPipeline.java:559) at org.elasticsearch.common.netty.channel.Channels.fireChannelDisconnect ed(Channels.java:396) at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.c lose(AbstractNioWorker.java:361) at org.elasticsearch.common.netty.channel.socket.nio.NioServerSocketPipe lineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:81) at org.elasticsearch.common.netty.channel.socket.nio.NioServerSocketPipe lineSink.eventSunk(NioServerSocketPipelineSink.java:36) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendDow nstream(DefaultChannelPipeline.java:574) at org.elasticsearch.common.netty.channel.Channels.close(Channels.java:8 12) at org.elasticsearch.common.netty.channel.AbstractChannel.close(Abstract Channel.java:197) at org.elasticsearch.transport.netty.NettyTransport.exceptionCaught(Nett yTransport.java:505) at org.elasticsearch.transport.netty.MessageChannelHandler.exceptionCaug ht(MessageChannelHandler.java:224) at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.h andleUpstream(SimpleChannelUpstreamHandler.java:112) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps tream(DefaultChannelPipeline.java:564) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$Default ChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.excep tionCaught(FrameDecoder.java:377) at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.h andleUpstream(SimpleChannelUpstreamHandler.java:112) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps tream(DefaultChannelPipeline.java:564) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$Default ChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(Ope nChannelsHandler.java:74) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps tream(DefaultChannelPipeline.java:564) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps tream(DefaultChannelPipeline.java:559) at org.elasticsearch.common.netty.channel.Channels.fireExceptionCaught(C hannels.java:525) at org.elasticsearch.common.netty.channel.AbstractChannelSink.exceptionC aught(AbstractChannelSink.java:48) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.notifyH andlerException(DefaultChannelPipeline.java:658) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps tream(DefaultChannelPipeline.java:566) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$Default ChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(Ope nChannelsHandler.java:74) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps tream(DefaultChannelPipeline.java:564) at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps tream(DefaultChannelPipeline.java:559) at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(C hannels.java:268) at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(C hannels.java:255) at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioW orker.java:88) at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.p rocess(AbstractNioWorker.java:109) at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector .run(AbstractNioSelector.java:312) at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.r un(AbstractNioWorker.java:90) at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWo rker.java:178) at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(Thread RenamingRunnable.java:108) at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.ru n(DeadLockProofWorker.java:42) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) ``` I've read about similar situations, but now there is no other node running, no networking, nothing uses the port, it is my first standalone ElasticSearch engine on the local machine with default configuration. I can't imagine what should there be on port 1627 - perhaps it is the clue. What do I wrong - or any solution?