【 TiDB 使用环境】
测试
【 TiDB 版本】
5.7.25-TiDB-v6.1.7
【遇到的问题:问题现象及影响】
源端MySQL通过DM同步到tidb,在源端MySQL执行了alter table xx alter index xx invisible
目标端此操作一直未完成,通过ADMIN SHOW DDL JOBS查看,发现有大量的此dll job,其中一个job处于running状态,运行时长已超过6天。
使用admin cancel ddl jobs 34965取消正在运行的job时报错
ERROR 9007 (HY000): Write conflict, txnStartTS=452107820148981762, conflictStartTS=452107821249724418, conflictCommitTS=452107821249724419, key=byte{0x6d, 0x44, 0x44, 0x4c, 0x4a, 0x6f, 0x62, 0x4c, 0x69, 0xff, 0x73, 0x74, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6c, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1} primary=byte{0x6d, 0x44, 0x44, 0x4c, 0x4a, 0x6f, 0x62, 0x4c, 0x69, 0xff, 0x73, 0x74, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6c, 0x80, 0x0, 0x0, 0x0, 0x0,
此job导致后续ddl操作全被阻塞
tidb日志
[2024/08/26 15:34:20.737 +08:00] [INFO] [ddl_worker.go:819] [“[ddl] run DDL job”] [worker=“worker 1, tp general”] [job=“ID:34965, Type:alter index visibility, State:running, SchemaState:none, SchemaID:32812, TableID:32912, RowCount:0, ArgLen:0, start time: 2024-08-20 17:12:07.659 +0800 CST, Err:, ErrCount:0, SnapshotVersion:0”]
重新选举过ddl owner也没有作用
【资源配置】
3个pd
3个tidb节点
3个tikv
1个tiflash
【附件:截图/日志/监控】
job队列
cancel job
tidb日志