有没有牛爷爷帮忙看看!!!DM同步一张无主键的表,为什么时间一长,同步的数据就有一些重复了

【 TiDB 使用环境】生产环境
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
表结构
img_v3_02ak_509abfbb-a789-42d1-a460-317230da959g
时间长了之后数据重复
错误:


正确:

而且是定时执行的脚本
第一个脚本是delete from pts_ir128668
第二个脚本是 插入的语句

任务的配置模板

worker-count: 6 # 应用已传输到本地的 binlog 的并发线程数量,默认值为 16。调整此参数不会影响上游拉取日志的并发,但会对下游产生显著压力。

这地方会不会导致重复读写某一段的binlog?

DM task 重启就可能吧,或者发生了切换。他会有一段时间 safemode 模式,为了安全 多回放了一些数据。

发生了切换,具体是值什么,主从切换也会导致?或者重启worker?或者resume-task 任务的时候也会导致?

无主键 ,如果也无唯一索引 有重复数据很正常 :smiley: :smiley:

无主键的表,应该是非聚簇表吧?系统应该会自动生成唯一的id

DM 同步数据要求表有主键或有效索引的,参考:
https://docs.pingcap.com/zh/tidb/stable/dm-dml-replication-logic
https://docs.pingcap.com/zh/tidb/stable/dm-safe-mode#注意事项