# [Critical bug] 当复制被中断和恢复时，DM可能会丢失数据

## Issue

用户发现 DM 同步丢失了部分数据变动，包括下游数据没有被插入、删除、更新。 且丢失的数据变动几乎对应同一时刻。 且检查 DM 日志，可以看到关于这些数据变动的同步报错。

### 触发条件与影响版本

- All of v1.0。
- [v2.0.0-vRC,2.0.3]，用户使用非 GTID 模式同步。

### 相关链接

- 社区用户反馈 <https://asktug.com/t/topic/93112>

- issue 跟踪 <https://github.com/pingcap/dm/issues/1751>

## Root Cause

某条 DML 语句修改多行数据，部分行同步到下游后刚好刷新 checkpoint（每30秒刷新一次），剩余行同步失败并中断。任务重启后读取 checkpoint 认为可跳过这条 DML，同步失败的行将会丢失。

## Diagnostic Steps

N/A

## Resolution

计划在 1.0.7、2.0.4 版本修复该问题。

如果用户上游支持 GTID 模式，可以尝试升级到 2.0 版本并使用 GTID 同步。

用户可以使用 sync-diff-inspector 进行数据校验并修复不一致的数据。

<https://docs.pingcap.com/zh/tidb/stable/sync-diff-inspector-overview>

## Workaround

N/A