linbowei 发表于 2016-8-15 09:40:26

zookeeper报java.nio.channels.CancelledKeyException的异常

本帖最后由 linbowei 于 2016-8-15 09:42 编辑

各位大神,zookeeper报如下异常:
2016-08-13 14:51:15,354 - ERROR - Unexpected Exception:
java.nio.channels.CancelledKeyException
    at sun.nio.ch.SelectionKeyImpl.ensureValid(SelectionKeyImpl.java:73)
    at sun.nio.ch.SelectionKeyImpl.interestOps(SelectionKeyImpl.java:77)
    at org.apache.zookeeper.server.NIOServerCnxn.sendBuffer(NIOServerCnxn.java:151)
    at org.apache.zookeeper.server.NIOServerCnxn.sendResponse(NIOServerCnxn.java:1082)
    at org.apache.zookeeper.server.FinalRequestProcessor.processRequest(FinalRequestProcessor.java:404)
    at org.apache.zookeeper.server.quorum.CommitProcessor.run(CommitProcessor.java:77)

请问如何解决

linbowei 发表于 2016-8-16 08:51:26

langke93 发表于 2016-8-15 13:16
可能ZooKeeper一个bug
是哪个版本



1.2、错误原因分析

ZooKeeper Server发送回复时,Socket连接已经被关闭。

1.3、错误解决

当ZooKeeper Server发送回复时,增加一个“sk.isValid()”的判断。以上其实是一个bug,在ZooKeeper 3.4.8版本中得到修复。

1.4、其他

这个错误在上线“使用ZooKeeper获取MQ地址方案”之前也存在。

不是这个因素吧,我用的就是3.4.8的版本

langke93 发表于 2016-8-15 13:16:40

可能ZooKeeper一个bug
是哪个版本

可在ZooKeeper Server发送回复时,增加一个“sk.isValid()”的判断。

更多参考
ZooKeeper相关错误的解决办法记录
http://www.aboutyun.com/forum.php?mod=viewthread&tid=19506


页: [1]
查看完整版本: zookeeper报java.nio.channels.CancelledKeyException的异常