在负载下观察到Netty 3.2.7和3.3.1的ClosedChannelException异常 [英] ClosedChannelException observered with netty 3.2.7 and 3.3.1 under load

查看:71
本文介绍了在负载下观察到Netty 3.2.7和3.3.1的ClosedChannelException异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

未加载我的Netty服务器时,一切正常. 但是在负载下它开始失败. 目前,我正在使用所有默认设置(尚未设置任何选项).请建议我是否需要设置任何选项来处理2k +并发连接(可能在加载期间频繁关闭和打开)

Every thing is working fine when my netty server is not loaded. But under load it starts to fail. Currently I am using all default settings ( have not set any options ). Please suggest if I need to set any options for handling 2k+ concurrent connections (may close and open very frequently during load)

这里是netty 3.2.7的堆栈跟踪.我已升级到netty 3.3.1,但仍然失败.

Here is stack trace with netty 3.2.7. I upgraded to netty 3.3.1 , but it still fails.

2012-09-19 16:17:54,864新的I/O服务器工作人员#1-11调试 org.jboss.netty.handler.ssl.SslHandler 42吞下异常 在写入非应用程序数据时引发 java.nio.channels.ClosedChannelException:在时为null org.jboss.netty.channel.socket.nio.NioWorker.cleanUpWriteBuffer(NioWorker.java:645) 〜[netty-3.2.7.Final.jar:na]在 org.jboss.netty.channel.socket.nio.NioWorker.writeFromUserCode(NioWorker.java:372) 〜[netty-3.2.7.Final.jar:na]在 org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:137) 〜[netty-3.2.7.Final.jar:na]在 org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:76) 〜[netty-3.2.7.Final.jar:na]在 org.jboss.netty.channel.Channels.write(Channels.java:632) 〜[netty-3.2.7.Final.jar:na]在 org.jboss.netty.channel.Channels.write(Channels.java:593) 〜[netty-3.2.7.Final.jar:na]在 org.jboss.netty.handler.ssl.SslHandler.wrapNonAppData(SslHandler.java:831) 〜[netty-3.2.7.Final.jar:na]在 org.jboss.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:915) 〜[netty-3.2.7.Final.jar:na]在 org.jboss.netty.handler.ssl.SslHandler.wrapNonAppData(SslHandler.java:849) 〜[netty-3.2.7.Final.jar:na]在 org.jboss.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:915) 〜[netty-3.2.7.Final.jar:na]在 org.jboss.netty.handler.ssl.SslHandler.decode(SslHandler.java:620) 〜[netty-3.2.7.Final.jar:na]在 org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:282) 〜[netty-3.2.7.Final.jar:na]在 org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:216) 〜[netty-3.2.7.Final.jar:na]在 org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274) 〜[netty-3.2.7.Final.jar:na]在 org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261) 〜[netty-3.2.7.Final.jar:na]在 org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:351) 〜[netty-3.2.7.Final.jar:na]在 org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:282) 〜[netty-3.2.7.Final.jar:na]在 org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:202) 〜[netty-3.2.7.Final.jar:na]在 java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(未知来源) [na:1.6.0_26]在 java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知源) [na:1.6.0_26],位于java.lang.Thread.run(未知来源)[na:1.6.0_26]

2012-09-19 16:17:54,864 New I/O server worker #1-11 DEBUG org.jboss.netty.handler.ssl.SslHandler 42 Swallowing an exception raised while writing non-app data java.nio.channels.ClosedChannelException: null at org.jboss.netty.channel.socket.nio.NioWorker.cleanUpWriteBuffer(NioWorker.java:645) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.channel.socket.nio.NioWorker.writeFromUserCode(NioWorker.java:372) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:137) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:76) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.channel.Channels.write(Channels.java:632) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.channel.Channels.write(Channels.java:593) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.handler.ssl.SslHandler.wrapNonAppData(SslHandler.java:831) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:915) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.handler.ssl.SslHandler.wrapNonAppData(SslHandler.java:849) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:915) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.handler.ssl.SslHandler.decode(SslHandler.java:620) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:282) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:216) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:351) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:282) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:202) ~[netty-3.2.7.Final.jar:na] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na:1.6.0_26] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.6.0_26] at java.lang.Thread.run(Unknown Source) [na:1.6.0_26]

推荐答案

我认为此问题可能是由于Netty错误引起的.我在此处创建了可复制的测试用例,该错误现已修正为Netty的 3个分支.

I believe that this problem may be caused by a bug in netty. I have created a reproducible test case here, and the bug is now fixed on the 3 branch of netty.

这篇关于在负载下观察到Netty 3.2.7和3.3.1的ClosedChannelException异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆