【 TiDB 版本】7.5.0
今天上午执行了2个DDL 操作:
1、 表ob_host添加列
2、 set global autocommit=off;
3、表ob_Host添加索引(只有6条数据)
再添加索引时 被阻塞了 一直处于running状态,
检查ddl leader的tidb.log 发现一直报
[2024/01/04 10:57:08.458 +08:00] [INFO] [syncer.go:362] ["syncer check all versions, someone is not synced"] [category=ddl] [info="instance ip 10.xxxx, port 4001, id 58d8f3e3-1508-4543-bf52-f7173d80f4ce"] ["ddl job id"=6928] [ver=820]
详细日志见附件
检查tidb_mdl_view 发现有job被阻塞信息
` | 6928 | ob_monitor | ob_host | create index ob_host_idx2 on ob_host(tenant_name ,db_role) | 933243620 | 01-04 11:06:07.640(446781867331420162) |
| 6928 | ob_monitor | ob_host | create index ob_host_idx2 on ob_host(tenant_name ,db_role) | 933243624 | 01-04 11:08:29.390(446781904490332164) |
| 1399 | ob_monitor | ob_host | alter table ob_host add username varchar(16) ,add password varchar(128) | 933243624 | 01-04 11:08:29.390(446781904490332164) |
| 1399 | ob_monitor | ob_host | alter table ob_host add username varchar(16) ,add password varchar(128) | 933243620 | 01-04 11:06:07.640(446781867331420162) |
| 1399 | ob_monitor | ob_host | alter table ob_host add username varchar(16) ,add password varchar(128) | 933243624 | 01-04 11:08:29.390(446781904490332164) |
上述的job除了当前running被阻塞的 显示的其他信息都是好几天前的 ,但是显示的dml语句的trx_start是今天的。
kill 上述 会话 ,再次检查只有ddl job=6928 的会话被Kill掉,添加索引操作完成,ddl job=1399 的试了2次也没被kill
问题
1、 被阻塞时 ddl owner的tidb.log 日志显示的是schema not synced,与实际表现来看不符
2、 tidb_mdl_view中记录的信息不准确,ddl job=1399的记录时间是今天的 ,且该job已经是synced。
3、 kill tidb 不好使,
下午再看时Mdl_view中的信息没有了