分享

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

linbowei 发表于 2016-8-15 09:40:26 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 27939
本帖最后由 linbowei 于 2016-8-15 09:42 编辑

各位大神,zookeeper报如下异常:
2016-08-13 14:51:15,354 [myid:1] - ERROR [CommitProcessor:1:NIOServerCnxn@178] - 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)

请问如何解决

已有(2)人评论

跳转到指定楼层
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


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条