dm 同步报错:handle a potential duplicate event

DM版本:v1.0.6

问题
今天发现有个同步任务报错了,报错信息如下:没看懂这个报错信息是什么意思,能否帮忙看看是啥问题,谢谢。
“Message”: “handle a potential duplicate event \u0026{Timestamp:1594677869 EventType:TableMapEvent ServerID:64244 EventSize:94 LogPos:123 Flags:0} in mysql-bin.000333: check event \u0026{Timestamp:1594677869 EventType:TableMapEvent ServerID:64244 EventSize:94 LogPos:123 Flags:0} whether duplicate in /data/dm-deploy/relay_log/433d5dde-b90c-11ea-9d0e-fa2736d1d700.000001/mysql-bin.000333: event from 29 in /data/dm-deploy/relay_log/433d5dde-b90c-11ea-9d0e-fa2736d1d700.000001/mysql-bin.000333 diff from passed-in event \u0026{Timestamp:1594677869 EventType:TableMapEvent ServerID:64244 EventSize:94 LogPos:123 Flags:0}”,

你好,

可以看下这个 faq 是否可以帮到你

什么意思?没看懂……

补个链接。。。

对于文档中的解决方案,是否 relay处理单元 和binlog replication 处理单元 都需要操作?

是的·

对于 binlog replication 处理单元中,我的任务名是hdb_broker2,那按照方案的第3步,我需要update的表就应该是hdb_broker2_syncer_checkpoint,但我在tidb中并没有找到这个表,是我理解错了吗?

是否有 tidb-binlog 数据库呢?

没有这个数据库,而且看了下游的其他数据库,基本都是从同步过来的数据库,没有和tidb相关的数据库。

MySQL [(none)]> use tidb-binlog
ERROR 1049 (42000): Unknown database ‘tidb-binlog’

不好意思,当前使用的 dm 同步工具,可以看下 tidb 数据库中是否有 dm-meta 数据库

image

今天上游来了一个超过 4GB 的 binlog 文件,对于binlog replication 处理单元中的第四点,在同步任务配置中为 syncers 部分设置 safe-mode: true 。想确认下配置具体需要加在同步任务的哪个位置?能否提供个参考?谢谢

对于 binlog replication 处理单元,可通过以下步骤手动恢复:
1. 在上游确认出错时对应的 binlog 文件的大小超出了 4GB。
2. 通过 stop-task 停止同步任务。
3. 将下游 dm_meta 数据库中 global checkpoint 与每个 table 的 checkpoint 中的 binlog_name 更新为出错的 binlog 文件,将 binlog_pos 更新为已同步过的一个合法的 position 值,比如 4。例如:出错任务名为dm_test ,对应的 source-id 为 replica-1 ,出错时对应的 binlog 文件为 mysql-bin|000001.004451,则执行 UPDATE dm_test_syncer_checkpoint SET binlog_name=‘mysql-bin|000001.004451’, binlog_pos = 4 WHERE id=‘replica-1’; 。
4. 在同步任务配置中为 syncers 部分设置 safe-mode: true 以保证可重入执行。
5. 通过 start-task 启动同步任务。
通过 query-status 观察同步任务状态,当原造成出错的 relay log 文件同步完成后,即可还原 safe-mode 为原始值并重启同步任务。


https://docs.pingcap.com/zh/tidb-data-migration/stable/task-configuration-file-full
目前 dm 文档中添加了 task 完整配置文件,在侧边导航栏可以看到哦
image

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。