ddl语句执行不完也停不下来

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】7.1
【复现路径】做过哪些操作出现的问题
truncate一张表,然后ddl状态done ,但是始终完成不了,也终止不了。
看论坛前几天也有发类似问题,没说清楚怎么解决的。
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】


看看 mysql.tidb_mdl_view有内容没,有的话可能是阻塞了,可以看看能否kill。没有内容就等等,等了好久还不行 估计就得tidb server 全部重启了,现在done状态是还没同步到其他tidb节点

不能cancelled 报错
error: [ddl:8225]This job:128771 is finished, so can’t be cancelled

mysql.tidb_mdl_view尝试select一直运行卡住了

肯定不能cancell了,cancell只能针对没执行完的,你这已经是done状态的了,
一般这种情况就是被其他查询阻塞了,select * from mysql.tidb_mdl_view; 这个表查询出来的id kiill掉就好了。
但是你现在又查不到数据,难不成真得重启tidb?

10分钟后select * from mysql.tidb_mdl_view查出来结果了。。有大量的这个表modify

ADMIN CANCEL DDL JOBS 这些jobid吗?执行返回找不到这些job的id

看解读

2 个赞

所有输出结果sessionid都是同一个,和truncate 卡住语句的一样

哪个人写的代码哦 阻塞了

navicat 右键这个表截断搞出来的,莫名其妙了

是得重启了

我之前也遇到过这个问题,也是重启之后解决的

不是,你看下sql_digests这列显示什么?

每台去登录 重启一下tidbserver就好了
解决很伤业务

问题解决了,重启所有tidb

tiup cluster restart tidb-test -R tidb

重启大法好啊

都是这样的 重启会好

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