# Accidentally sending a HTTP request to TCP port during recovery results in OutOfMemoryError in Netty

**URL:** <https://discuss.elastic.co/t/accidentally-sending-a-http-request-to-tcp-port-during-recovery-results-in-outofmemoryerror-in-netty/7633>\
**Category:** Elasticsearch\
**Created:** [May 10, 2012, 12:14pm UTC](https://discuss.elastic.co/t/accidentally-sending-a-http-request-to-tcp-port-during-recovery-results-in-outofmemoryerror-in-netty/7633 "2012-05-10T12:14:42Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Michael\_Snell](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/michael_snell/32/2770_2.png) [@Michael\_Snell](https://discuss.elastic.co/u/Michael_Snell)\
**Post date:** [May 10, 2012, 12:14pm UTC](https://discuss.elastic.co/t/accidentally-sending-a-http-request-to-tcp-port-during-recovery-results-in-outofmemoryerror-in-netty/7633/1 "2012-05-10T12:14:42Z")

</div>

Hi - Accidentally sending a HTTP request to the TCP port (eg curl  
'[http://localhost:9300/](http://localhost:9300/)') results in an OutOfMemoryError being logged. This  
appears to be reproducible in 0.19.3 during recovery - the stacktrace  
logged is:

52,258][WARN][transport.netty] [nodename] Exception caught on  
netty layer [[id: 0x00c1df71, /127.0.0.1:50268 =\> /127.0.0.1:9300]]  
java.lang.OutOfMemoryError: Java heap space  
at  
org.elasticsearch.common.netty.buffer.HeapChannelBuffer.(HeapChannelBuffer.java:42)  
at  
org.elasticsearch.common.netty.buffer.BigEndianHeapChannelBuffer.(BigEndianHeapChannelBuffer.java:34)  
at  
org.elasticsearch.common.netty.buffer.ChannelBuffers.buffer(ChannelBuffers.java:134)  
at  
org.elasticsearch.common.netty.buffer.HeapChannelBufferFactory.getBuffer(HeapChannelBufferFactory.java:69)  
at  
org.elasticsearch.common.netty.buffer.DynamicChannelBuffer.(DynamicChannelBuffer.java:58)  
at  
org.elasticsearch.common.netty.buffer.ChannelBuffers.dynamicBuffer(ChannelBuffers.java:221)  
at  
org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:98)  
at  
org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:75)  
at  
org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)  
at  
org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:792)  
at  
org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:74)  
at  
org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)  
at  
org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)  
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:94)  
at  
org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:364)  
at  
org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:238)  
at  
org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWorker.java:38)  
at  
org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)  
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown  
Source)  
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown  
Source)  
at java.lang.Thread.run(Unknown Source)

---

<div class="post-metadata">

**Author:** ![kimchy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kimchy/32/44952_2.png) [@kimchy](https://discuss.elastic.co/u/kimchy)\
**Post date:** [May 10, 2012, 8:36pm UTC](https://discuss.elastic.co/t/accidentally-sending-a-http-request-to-tcp-port-during-recovery-results-in-outofmemoryerror-in-netty/7633/2 "2012-05-10T20:36:27Z")

</div>

Yea, I've noticed it as well, requites some hardening on the internal  
transport layer. Open an issue so we won't miss it?

On Thu, May 10, 2012 at 3:14 PM, Michael Snell [michael@snell.com](mailto:michael@snell.com) wrote:

> Hi - Accidentally sending a HTTP request to the TCP port (eg curl '  
> [http://localhost:9300/](http://localhost:9300/)') results in an OutOfMemoryError being logged.  
> This appears to be reproducible in 0.19.3 during recovery - the stacktrace  
> logged is:
> 
> 52,258][WARN][transport.netty] [nodename] Exception caught on  
> netty layer [[id: 0x00c1df71, /127.0.0.1:50268 =\> /127.0.0.1:9300]]  
> java.lang.OutOfMemoryError: Java heap space  
> at  
> org.elasticsearch.common.netty.buffer.HeapChannelBuffer.(HeapChannelBuffer.java:42)  
> at  
> org.elasticsearch.common.netty.buffer.BigEndianHeapChannelBuffer.(BigEndianHeapChannelBuffer.java:34)  
> at  
> org.elasticsearch.common.netty.buffer.ChannelBuffers.buffer(ChannelBuffers.java:134)  
> at  
> org.elasticsearch.common.netty.buffer.HeapChannelBufferFactory.getBuffer(HeapChannelBufferFactory.java:69)  
> at  
> org.elasticsearch.common.netty.buffer.DynamicChannelBuffer.(DynamicChannelBuffer.java:58)  
> at  
> org.elasticsearch.common.netty.buffer.ChannelBuffers.dynamicBuffer(ChannelBuffers.java:221)  
> at  
> org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:98)  
> at  
> org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:75)  
> at  
> org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)  
> at  
> org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:792)  
> at  
> org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:74)  
> at  
> org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)  
> at  
> org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)  
> 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:94)  
> at  
> org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:364)  
> at  
> org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:238)  
> at  
> org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWorker.java:38)  
> at  
> org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)  
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown  
> Source)  
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown  
> Source)  
> at java.lang.Thread.run(Unknown Source)

---

<div class="post-metadata">

**Author:** ![Michael\_Snell](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/michael_snell/32/2770_2.png) [@Michael\_Snell](https://discuss.elastic.co/u/Michael_Snell)\
**Post date:** [May 16, 2012, 9:00am UTC](https://discuss.elastic.co/t/accidentally-sending-a-http-request-to-tcp-port-during-recovery-results-in-outofmemoryerror-in-netty/7633/3 "2012-05-16T09:00:53Z")

</div>

Opened [Sending a HTTP request to TCP port during recovery results in OutOfMemoryError in Netty · Issue #1955 · elastic/elasticsearch · GitHub](https://github.com/elasticsearch/elasticsearch/issues/1955)

On Thursday, 10 May 2012 21:36:27 UTC+1, kimchy wrote:

> Yea, I've noticed it as well, requites some hardening on the internal  
> transport layer. Open an issue so we won't miss it?
> 
> On Thu, May 10, 2012 at 3:14 PM, Michael Snell [michael@snell.com](mailto:michael@snell.com) wrote:
> 
> > Hi - Accidentally sending a HTTP request to the TCP port (eg curl '  
> > [http://localhost:9300/](http://localhost:9300/)') results in an OutOfMemoryError being logged.  
> > This appears to be reproducible in 0.19.3 during recovery - the stacktrace  
> > logged is:
> > 
> > 52,258][WARN][transport.netty] [nodename] Exception caught on  
> > netty layer [[id: 0x00c1df71, /127.0.0.1:50268 =\> /127.0.0.1:9300]]  
> > java.lang.OutOfMemoryError: Java heap space  
> > at  
> > org.elasticsearch.common.netty.buffer.HeapChannelBuffer.(HeapChannelBuffer.java:42)  
> > at  
> > org.elasticsearch.common.netty.buffer.BigEndianHeapChannelBuffer.(BigEndianHeapChannelBuffer.java:34)  
> > at  
> > org.elasticsearch.common.netty.buffer.ChannelBuffers.buffer(ChannelBuffers.java:134)  
> > at  
> > org.elasticsearch.common.netty.buffer.HeapChannelBufferFactory.getBuffer(HeapChannelBufferFactory.java:69)  
> > at  
> > org.elasticsearch.common.netty.buffer.DynamicChannelBuffer.(DynamicChannelBuffer.java:58)  
> > at  
> > org.elasticsearch.common.netty.buffer.ChannelBuffers.dynamicBuffer(ChannelBuffers.java:221)  
> > at  
> > org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:98)  
> > at  
> > org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:75)  
> > at  
> > org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)  
> > at  
> > org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:792)  
> > at  
> > org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:74)  
> > at  
> > org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)  
> > at  
> > org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)  
> > 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:94)  
> > at  
> > org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:364)  
> > at  
> > org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:238)  
> > at  
> > org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWorker.java:38)  
> > at  
> > org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)  
> > at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown  
> > Source)  
> > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown  
> > Source)  
> > at java.lang.Thread.run(Unknown Source)

---

<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:28am UTC](https://discuss.elastic.co/t/accidentally-sending-a-http-request-to-tcp-port-during-recovery-results-in-outofmemoryerror-in-netty/7633/4 "2017-07-06T03:28:36Z")

</div>


