环境信息
canal version 1.1.3 mysql version mariadb version 10.6.8
问题描述
在mariadb环境下,修改表结构,在binlog里生成了alter table *** add column ***日志,canal parse到这个日志会报错,停止解析不了后面的日志了;在mysql 8.0环境下,这个解析这个日志是ok的
步骤重现
1、启动canal server; 2、在mariadb环境下,修改表结构,在binlog里生成了alter table *** add column ***日志; 3、查看canal.log,有错误日志;导致canal msg发送不出去。
实际执行情况
If there is an exception, please attach the exception trace: java.io.IOException: Read Q_FLAGS2_CODE error: limit excceed: 67 at com.taobao.tddl.dbsync.binlog.event.QueryLogEvent.unpackVariables(QueryLogEvent.java:717) ~[canal.parse.dbsync-1.1.3.jar:na] at com.taobao.tddl.dbsync.binlog.event.QueryLogEvent.(QueryLogEvent.java:495) ~[canal.parse.dbsync-1.1.3.jar:na] at com.taobao.tddl.dbsync.binlog.LogDecoder.decode(LogDecoder.java:168) ~[canal.parse.dbsync-1.1.3.jar:na] at com.taobao.tddl.dbsync.binlog.LogDecoder.decode(LogDecoder.java:111) ~[canal.parse.dbsync-1.1.3.jar:na] at com.alibaba.otter.canal.parse.inbound.mysql.MysqlMultiStageCoprocessor$SimpleParserStage.onEvent(MysqlMultiStageCoprocessor.java:264) [canal.parse-1.1.3.jar:na] at com.alibaba.otter.canal.parse.inbound.mysql.MysqlMultiStageCoprocessor$SimpleParserStage.onEvent(MysqlMultiStageCoprocessor.java:246) [canal.parse-1.1.3.jar:na] at com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:168) [disruptor-3.4.2.jar:na] at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:125) [disruptor-3.4.2.jar:na] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_131] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_131] at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
原提问者GitHub用户gongqianqian
估计是mariadb新版本有binlog格式修改,canal新版本需要follower支持下
原回答者GitHub用户agapple
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。