2016-11-18 8 views
2

負荷のバランスをとるためにhaproxyを使用し、nettyサーバが "java.io.IOException:ピアによる接続のリセット"を続ける。以下は です。例外スタック:私はネッティーサーバのネットワークデータをダンプし、netty java.io.IOException:RST、ACKによって引き起こされたピアによる接続のリセット

enter image description here 10.125.137.11,10.125.137.13,10.125.137.14の下に見ることのtcpdumpを使用

java.io.IOException: Connection reset by peer 
at sun.nio.ch.FileDispatcherImpl.read0(Native Method) 
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) 
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) 
at sun.nio.ch.IOUtil.read(IOUtil.java:192) 
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379) 
at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288) 
at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1055) 
at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:245) 
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:112) 
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:510) 
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:467) 
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:381) 
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) 
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:742) 
at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137) 
at java.lang.Thread.run(Thread.java:745) 

hapxoryサーバのIP はhaproxy思えるされています[RST、ACK]を送信してヘルスチェックを終了してください。

私のハンドラでこのような状況を処理する必要があるかどうかは疑問です(チェック例外はIOExceptionですが、ログはこの例外でいっぱいですので無視してください)、または自分で処理する必要がありますか?

答えて

0

HAProxyがRSTを送信する場合は、これが必要です。気にしない場合はChannelHandlerの実装で例外を除外できます。exceptionCaught(...)メソッドをオーバーライドします。

+0

私はそれについて考えましたが、IOExceptionを無視すれば心配しましたが、実際のエラーは無視されます –

関連する問題