当遇到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
1条答案
按热度按时间cetgtptt1#
清理目标表名是为了重新加载最新的表结构