canal RENAME 事件清除 TableMeta 时,不清除源表名缓存,只清除目标表名的是否合理?

qzwqbdag  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(44)

当遇到RENAME事件时,源表名的不清除,在RENAME后,再CREATE一个同源表名但表结构不同的表时,有新结构的binlog时解析会出现错误;

额外地,RENAME的目标表名,要么未曾创建,要么被移走/删除,前者TableMeta未曾存在,后者必被已经remove,清理目标表明缓存是否多此一举?是有什么考虑吗?

https://github.com/alibaba/canal/blob/master/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/dbsync/LogEventConvert.java#L323

cetgtptt

cetgtptt1#

清理目标表名是为了重新加载最新的表结构

相关问题