开发者社区> 问答> 正文

延迟情况下多条ddl语句引发schema不匹配的bug

在有多条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

展开
收起
绿子直子 2023-05-09 12:02:21 141 0
1 条回答
写回答
取消 提交回答
  • 新版本会支持ddl版本变更,可以随意回切到任意位点,DDL表结构也会同步回滚 新版本代码已经提交到master

    原回答者GitHub用户agapple

    2023-05-10 10:28:00
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

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