开发者社区> 问答> 正文

发生网络抖动后,canalserver会卡住,不能自动恢复

问题描述:

当发生网络抖动时,canalserver会被卡住,网络恢复正常后canalserver不能自动恢复正常,需要手动重启instance才能恢复。 心跳检查是开启的,异常栈如下:

2017-04-21 00:29:16.425 [destination = xxxx, address = xxxx , HeartBeatTimeTask] WARN c.a.otter.canal.parse.inbound.mysql.MysqlEventParser - connect failed by 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:197) at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379) at com.alibaba.otter.canal.parse.driver.mysql.utils.PacketManager.readBytesAsBuffer(PacketManager.java:20) at com.alibaba.otter.canal.parse.driver.mysql.utils.PacketManager.readHeader(PacketManager.java:13) at com.alibaba.otter.canal.parse.driver.mysql.MysqlQueryExecutor.readNextPacket(MysqlQueryExecutor.java:104) at com.alibaba.otter.canal.parse.driver.mysql.MysqlQueryExecutor.query(MysqlQueryExecutor.java:55) at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.query(MysqlConnection.java:68) at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser$MysqlDetectingTimeTask.run(MysqlEventParser.java:191) at java.util.TimerThread.mainLoop(Timer.java:555) at java.util.TimerThread.run(Timer.java:505)

除此之外没有其它的异常信息,有人遇到这种情况么

原提问者GitHub用户lan1994

展开
收起
绿子直子 2023-05-09 15:19:33 68 0
1 条回答
写回答
取消 提交回答
  • 要么是mysql binlogdump的tcp链接被异常断开了,canal没有感知到

    应该是socket一直阻塞在读操作上,没有感知到异常

    原回答者GitHub用户agapple

    2023-05-10 10:37:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
网络虚拟化技术为双11提供灵动网络 立即下载
阿里云网络产品概览 立即下载
Docker 网络深度解读 立即下载

相关实验场景

更多