服务端thrift 使用非阻塞式IO报异常Got an IOException in internalRead!

参考:https://blog.csdn.net/z13192905903/article/details/103181204

参考:https://blog.csdn.net/xmtblog/article/details/79431748

报错

Got an IOException in internalRead!

全文


2020-04-26 11:54:31.934  WARN 21088 --- [       Thread-4] .s.AbstractNonblockingServer$FrameBuffer : Got an IOException in internalRead!

java.io.IOException: Connection reset by peer
	at sun.nio.ch.FileDispatcherImpl.read0(Native Method) ~[na:1.8.0_181]
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) ~[na:1.8.0_181]
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) ~[na:1.8.0_181]
	at sun.nio.ch.IOUtil.read(IOUtil.java:197) ~[na:1.8.0_181]
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380) ~[na:1.8.0_181]
	at org.apache.thrift.transport.TNonblockingSocket.read(TNonblockingSocket.java:141) ~[libthrift-0.10.0.jar!/:0.10.0]
	at org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.internalRead(AbstractNonblockingServer.java:539) [libthrift-0.10.0.jar!/:0.10.0]
	at org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.read(AbstractNonblockingServer.java:338) [libthrift-0.10.0.jar!/:0.10.0]
	at org.apache.thrift.server.AbstractNonblockingServer$AbstractSelectThread.handleRead(AbstractNonblockingServer.java:203) [libthrift-0.10.0.jar!/:0.10.0]
	at org.apache.thrift.server.TNonblockingServer$SelectAcceptThread.select(TNonblockingServer.java:203) [libthrift-0.10.0.jar!/:0.10.0]
	at org.apache.thrift.server.TNonblockingServer$SelectAcceptThread.run(TNonblockingServer.java:154) [libthrift-0.10.0.jar!/:0.10.0]

1、服务端修改最大读取的缓存大小,默认值非常大,实际上并不需要那么大

# args为Args后的实例,以下表示10M
args.maxReadBufferBytes = 10 * 1024 *1024L;

2、客户端的transport为null的时候调用也会出问题,如果通信还没结束不要关闭transport.close();

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值