在有多条ddl语句时,如果binlog解析存在延时,会引发如下错误: com.alibaba.otter.canal.parse.exception.CanalParseException: parse row data failed. Caused by: com.alibaba.otter.canal.parse.exception.CanalParseException: column size is not match for table:xxdb.xxxtable,39 vs 37。
原因如下: binlog中有前后两条ddl语句a和b,由于解析落后,canal才解析到a,从db中获取最新的schema,得到了b操作后的schema。a和b之间的消息的表结构跟最新的schema不匹配。
原提问者GitHub用户sunryuan
新版本会支持ddl版本变更,可以随意回切到任意位点,DDL表结构也会同步回滚 新版本代码已经提交到master
原回答者GitHub用户agapple
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。