开发者社区> 问答> 正文

Question: canal v1.1.0, 为什么存在DatabaseTableMeta#com

Question: canal v1.1.0, 为什么存在DatabaseTableMeta#compareTableMetaDbAndMemory这样的一个比较过程?

在内存tsdb维护的表结构正确的情况下,下面两中情况仍然会导致DatabaseTableMeta#compareTableMetaDbAndMemory返回false

1、canal消费存在比较大的延迟,此时内存中的表结构和mysql真实的表结构存在差异

2、回退位点,重复消费binlog,消费很慢,24小时内仍未追上最新的位点

原提问者GitHub用户spccold

展开
收起
Java工程师 2023-05-08 19:08:11 97 0
1 条回答
写回答
取消 提交回答
  • 为了确保基于内存tsdb维护的表结构正确性,在做snapshot之前和当前数据库做一下对比。

    snapshot会每间隔24小时定时发起,如果一次中对比失败,可以在下一次对比成功后记录。

    原回答者GitHub用户agapple

    2023-05-09 19:06:13
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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