Bug 反馈
清晰准确地描述您发现的问题,提供任何可能复现问题的步骤有助于研发同学及时处理问题
【 Bug 的影响】
使用 TiCDC 把数据同步至下游 MySQL 时,部分语句逻辑会发生变化(update 变为 delete+insert),导致下游拿到的 SQL 和上游不一致。
【可能的问题复现步骤】
操作情况:
create table sync_test (id int primary key auto_increment,info varchar(30))
insert into sync_test (info) values (‘tom’);commit;
tidb 上执行一条 update 语句:
update sync_test set info = ‘jerry’ where id = 1;commit;
然后在下游 MySQL 的 binlog 中看到:
【看到的非预期行为】
SQL 逻辑发生变更
【期望看到的行为】
TiDB 段执行的 update 语句,到了下游 MySQL 还是以 update 的形式出现,而不是转换成 delete + insert 或者 replace。
【相关组件及具体版本】
TiDB v5.0.0.0
TiCDC v5.0.0
【其他背景信息或者截图】
如集群拓扑,系统和内核版本,应用 app 信息等;如果问题跟 SQL 有关,请提供 SQL 语句和相关表的 Schema 信息;如果节点日志存在关键报错,请提供相关节点的日志内容或文件;如果一些业务敏感信息不便提供,请留下联系方式,我们与您私下沟通。
简单的业务架构如下: