DM同步任务增加表问题

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • TiDB 版本】:3.0.3
  • DM 版本】:1.0.0
  • 问题描述】:

DM同步任务的白名单,设定并启动之后,后续由于业务需要增加表(已有数据)时
按现在的处理方式,update-task能够更新白名单配置
但新表的全量导入,由于 Mydumper unit update为空,不会进行导入
新表必须手动全量导入,这必然会涉及到任务位点恢复的问题

操作流程是暂停 DM 任务 → 全量dump 新表 → 导入新表 → 修改配置→ 恢复任务
然而暂停的位点和dump的位点不一定一致,直接恢复可能会出错

DM是否有提供此类场景的处理方式
例如类似mysql 的 start slave until 的功能,可以指定DM停留在某个位点

暂时没有 mysql 的 start slave until 功能,如果是有这个需求的话,建议新启动一个 task 来完成上述功能~

后续有增加这个功能的计划吗?

短期可以通过增加一个新task来解决问题
业务需要每增加一次表时,就建一个新task,同一个源的任务多了,维护时就要注意各个子任务情况

另外,事务相关的问题会因为新task更加突出
task1 过滤表 A ,task 2 只同步表A
那么两个任务同时进行的时候,包含表A和其他表的事务处理时会遇到以下情况
表A的变更在依赖项没完成前,可能就能查询到

目前暂时没有这个功能,后续可能会考虑开发这个功能