开发者社区> 问答> 正文

产生数据积压后,同步一段时间就会报错。异常后,又会重新从开始的位点同步。导致无法持续进行后面的同步。

版本canal-canal-1.0.26

something goes wrong when acking data from server:null com.alibaba.otter.canal.protocol.exception.CanalClientException: java.io.IOException: Broken pipe at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.ack(SimpleCanalConnector.java:339) at com.alibaba.otter.canal.client.impl.ClusterCanalConnector.ack(ClusterCanalConnector.java:246) at ins.framework.mysqltoes.client.AbstractCanalClientTest.process(AbstractCanalClientTest.java:140) at ins.framework.mysqltoes.client.AbstractCanalClientTest$2.run(AbstractCanalClientTest.java:93) at java.lang.Thread.run(Thread.java:745) Caused by: java.io.IOException: Broken pipe at sun.nio.ch.FileDispatcherImpl.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) at sun.nio.ch.IOUtil.write(IOUtil.java:65) at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471) at java.nio.channels.Channels.writeFullyImpl(Channels.java:78) at java.nio.channels.Channels.writeFully(Channels.java:98) at java.nio.channels.Channels.access$000(Channels.java:61) at java.nio.channels.Channels$1.write(Channels.java:174) at java.nio.channels.Channels$WritableByteChannelImpl.write(Channels.java:458) at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.writeWithHeader(SimpleCanalConnector.java:382) at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.writeWithHeader(SimpleCanalConnector.java:369) at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.ack(SimpleCanalConnector.java:333) ... 4 common frames omitted restart the connector for next round retry. something goes wrong when getWithoutAck data from server:null com.alibaba.otter.canal.protocol.exception.CanalClientException: something goes wrong with reason: something goes wrong with channel:[id: 0x58c3e872, /10.10.56.23:50475 => /10.10.56.23:11111], exception=com.alibaba.otter.canal.server.exception.CanalServerException: ack error , clientId:1001 batchId:926 is not exist , please check

at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.receiveMessages(SimpleCanalConnector.java:317) at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.getWithoutAck(SimpleCanalConnector.java:294) at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.getWithoutAck(SimpleCanalConnector.java:269) at com.alibaba.otter.canal.client.impl.ClusterCanalConnector.getWithoutAck(ClusterCanalConnector.java:177) at ins.framework.mysqltoes.client.AbstractCanalClientTest.process(AbstractCanalClientTest.java:126) at ins.framework.mysqltoes.client.AbstractCanalClientTest$2.run(AbstractCanalClientTest.java:93) at java.lang.Thread.run(Thread.java:745)

canal的server端生成了线程错误日志,hs_err_pid12248.log,记录了部分堆栈信息,但里面有下面的异常,是不是有部分代码漏掉了?

Internal exceptions (10 events): Event: 13725.231 Thread 0x00007f65bc006800 Exception <a 'java/lang/ClassNotFoundException': com/alibaba/otter/canal/protocol/position/PositionBeanInfo> (0x0000000715146718) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u51/3951/hotspot/src/share/vm/classfile/systemDictionary.cpp, line 210 Event: 13725.231 Thread 0x00007f65bc006800 Exception <a 'java/lang/ClassNotFoundException': com/alibaba/otter/canal/protocol/position/PositionCustomizer> (0x0000000715156278) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u51/3951/hotspot/src/share/vm/classfile/systemDictionary.cpp, line 2 Event: 13725.231 Thread 0x00007f65bc006800 Exception <a 'java/lang/ClassNotFoundException': com/alibaba/otter/canal/protocol/position/TimePositionCustomizer> (0x0000000715168aa0) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u51/3951/hotspot/src/share/vm/classfile/systemDictionary.cpp, li Event: 13725.232 Thread 0x00007f65bc006800 Exception <a 'java/lang/ClassNotFoundException': com/alibaba/otter/canal/protocol/position/EntryPositionCustomizer> (0x000000071517e530) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u51/3951/hotspot/src/share/vm/classfile/systemDictionary.cpp, l Event: 13725.413 Thread 0x00007f659c1da000 Exception <a 'java/lang/ClassCastException': sun.misc.Cleaner cannot be cast to java.lang.Runnable> (0x00000007168aa620) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u51/3951/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp, line 381] Event: 13725.416 Thread 0x00007f659c1da000 Exception <a 'java/lang/NoClassDefFoundError': javassist/ClassPath> (0x00000007168c0840) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u51/3951/hotspot/src/share/vm/classfile/systemDictionary.cpp, line 199] Event: 13730.219 Thread 0x00007f65a000a000 Implicit null exception at 0x00007f66653cf735 to 0x00007f66653cfa61 Event: 13743.542 Thread 0x00007f659c1da000 Exception <a 'java/lang/InterruptedException'> (0x0000000709c92318) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u51/3951/hotspot/src/share/vm/runtime/objectMonitor.cpp, line 1683] Event: 13743.548 Thread 0x00007f6594003800 Implicit null exception at 0x00007f6665ecfa12 to 0x00007f6665ed0209 Event: 13743.558 Thread 0x00007f6594003800 Implicit null exception at 0x00007f6665b17426 to 0x00007f6665b19e6d

原提问者GitHub用户kongbaiwendang

展开
收起
绿子直子 2023-05-09 10:24:00 106 0
1 条回答
写回答
取消 提交回答
  • 检查了canalserver的日志,发现过一些不支持的format格式的警告。但是并不影响同步。但是一旦出现上面的异常,服务端也会报这个异常。

    原回答者GitHub用户kongbaiwendang

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

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载