dmctl check-task卡住不动,没有错误信息

【 TiDB 使用环境】测试环境
【 TiDB 版本】5.4
【遇到的问题】dmctl check-task卡住不动,
【复现路径】做过哪些操作出现的问题
【问题现象及影响】
tiup dmctl --master-addr=192.168.242.130:8361 check-task /opt/dm-task.yaml

【附件】


dm-master日志

dm-task.yml文件内容

1 个赞

dmctl 是6.0.0 ?

信息太少了。。看起来也不止一个 master?192.168.242.130:8361 这个好像不是 leader,这个任务被移交给另一个 master 执行了,所以这里的 log 看不出来 CheckTask 的执行。如果可以的话,可以把其他 master 的 log 也发一下。

您好,请问问题解决了吗?我的也是这样,但是我测试只有一个dm master,版本和您是一样的。

check-task 的时间过长有可能是因为这个 issue:https://github.com/pingcap/tiflow/issues/5098

2 个赞

多谢,我测试的是数据量小很快,数据量大会很慢

多少数据量?

大几百GB,4000左右张表

目前正在优化这一块(并行检查),但目前 release 版本的 dm 还没有这个功能:disappointed_relieved:

FYI: https://github.com/pingcap/tiflow/pull/5103

1 个赞

再多问一句,4000张表是在同一个 source 里面吗?或者说这些表是在同一个库里吗?

是的,在同一个source里面

了解了。后续应该会支持多 table 的并行检查:grinning:

FYI: https://github.com/pingcap/tiflow/pull/3975

系统负载情况正常吗? 有可能是数量太大了

我还想问一下,get-config source命令后,输出的格式怎么改呀:grin:,看着不方便。

印象中现在是没法改的,可以提个 issue 或者有兴趣的话提个 pr。后续会有 webUI 支持 dmctl,这样应该会方便很多。

ok多谢

我也出现了同样的问题,版本6.0

[2022/05/30 04:10:51.963 -04:00] [INFO] [checker.go:477] [“exec query”] [unit=“task check”] [sql=“SHOW CREATE TABLE dm_meta.task_accounting_engines_pp_loader_checkpoint”]
[2022/05/30 04:10:51.963 -04:00] [INFO] [checker.go:477] [“exec query”] [unit=“task check”] [sql=“SHOW CREATE TABLE dm_meta.task_accounting_engines_pp_lightning_checkpoint_list”]
[2022/05/30 04:10:51.963 -04:00] [INFO] [checker.go:477] [“exec query”] [unit=“task check”] [sql=“SHOW CREATE TABLE dm_meta.task_accounting_engines_pp_syncer_checkpoint”]
[2022/05/30 04:10:51.964 -04:00] [INFO] [checker.go:275] ["\ ************ task task_accounting_engines_pp checking items \ mysql_version\ source db dump privilege checker\ mysql_server_id\ mysql_binlog_enable\ mysql_binlog_format\ mysql_binlog_row_image\ source db replication privilege checker\ online ddl checker\ binlog_do_db/binlog_ignore_db check\ table structure compatibility check\ sharding table accounting_engines_pp.inner_account_ledger_log consistency checking\ sharding table accounting_engines_pp.user_account_ledger_log consistency checking\ sharding table accounting_engines_pp.request_transaction_log consistency checking\ task task_accounting_engines_pp checking items ************"] [unit=“task check”]
[2022/05/30 04:10:51.964 -04:00] [INFO] [table_structure.go:348] [“start to check sharding tables”]
[2022/05/30 04:10:51.964 -04:00] [INFO] [table_structure.go:348] [“start to check sharding tables”]
[2022/05/30 04:10:51.964 -04:00] [INFO] [table_structure.go:348] [“start to check sharding tables”]
[2022/05/30 04:10:51.982 -04:00] [INFO] [table_structure.go:397] [“check sharding table structure over”] [“spend time”=17.978693ms]
[2022/05/30 04:10:51.982 -04:00] [INFO] [table_structure.go:397] [“check sharding table structure over”] [“spend time”=17.885298ms]
[2022/05/30 04:10:51.991 -04:00] [INFO] [table_structure.go:135] [“check table structure over”] [“spend time”=27.16912ms]

dm-master日志一直卡在这,check-task也一直卡着

卡住的问题有解决么

FYI: https://github.com/pingcap/tiflow/issues/5759

6.1 版本的 dm 修复了这个问题,这个 issue 里有说具体原因。如果您没有办法升级 dm,可以选择跳过检查直接启动任务

这个问题已在 6.1 版本的 dm 中修复。可以通过升级版本,或者跳过检查项来规避这个问题。

出现条件:当需要迁移的表中有不符合迁移条件的(比如主键之类的),会让任务任务检查卡住,无法继续执行。

FYI:https://github.com/pingcap/tiflow/issues/5759