Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tools: add description for task auto restore after dm-worker restart #1200

Merged
merged 5 commits into from
Apr 3, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions tools/dm/cluster-operations.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,21 +39,21 @@ $ ansible-playbook stop.yml

**全量数据导入过程中:**

对于全量数据导入时的 SQL 文件,DM 使用下游数据库记录断点信息DM-worker 重启时会检查断点信息。您可以使用 [`start-task` 命令](/tools/dm/practice.md#第-4-步启动任务)自动恢复数据同步
对于全量数据导入时的 SQL 文件,DM 使用下游数据库记录断点信息DM-worker 会在本地 meta 文件记录子任务信息。DM-worker 重启时会检查断点信息和本地记录的子任务信息,重启前处于运行中状态的任务会自动恢复数据同步

**增量数据同步过程中:**

对于增量数据导入过程中的 binlog,DM 使用下游数据库记录断点信息,并会在同步任务开始或恢复后的第一个五分钟之内开启安全模式。

+ 未启用 sharding DDL 同步

如果 DM-worker 上运行的任务未启用 sharding DDL 同步功能,DM-worker 重启时会检查断点信息。您可以使用 [`start-task` 命令](/tools/dm/practice.md#第-4-步启动任务)自动恢复数据同步
如果 DM-worker 上运行的任务未启用 sharding DDL 同步功能,DM-worker 重启时会检查断点信息和本地记录的子任务信息,重启前处于运行中状态的任务会自动恢复数据同步

+ 已启用 sharding DDL 同步

- DM 同步 sharding DDL 语句时,如果 DM-worker 成功执行(或跳过)sharding DDL 的 binlog event,与 DM-worker 中的 sharding DDL 语句相关的所有表的断点信息都会被更新至 DDL 语句对应的 binlog event 之后的位置。

- 当 DM-worker 重启发在 sharding DDL 语句同步开始前或完成后,您可以使用 `start-task` 命令,根据断点信息自动恢复数据同步
- 当 DM-worker 重启发生在 sharding DDL 语句同步开始前或完成后,DM-worker 会根据断点信息和本地记录的子任务信息自动恢复数据同步

- 当 DM-worker 重启发生在 sharding DDL 语句同步过程中,可能会出现作为 DDL lock owner 的 DM-worker 实例已执行了 DDL 语句并成功变更了下游数据库表结构,但其他 DM-worker 实例重启而无法跳过 DDL 语句也无法更新断点的情况。

Expand Down