日志显示 inconsistent index handles

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【TiDB 版本】 tidb 4.0

【问题描述】


若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

使用的是tiup,没有目录tidb-ansible,脚本信息无法收集

admin recover index 因为看不出来是哪个表的索引,次命令无法执行

  1. 请问具体是哪个版本?
  2. 这个问题目前可以复现吗? 如果可以的话,建议开启 general log ,找到具体的表和索引信息。

打开general 日志,通过grep 方式,也没有表名称
[2021/03/16 11:09:41.738 +08:00] [ERROR] [distsql.go:952] [“inconsistent index handles”] [conn=189443803] [index=PRIMARY] [index_cnt=6] [table_cnt=0] [missing_handles="[11840417,11879759,11923376,11928536,11975680,11977593]"] [total_handles="[11840417,11879759,11923376,11928536,11975680,11977593]"]
[2021/03/16 11:09:41.738 +08:00] [WARN] [client_batch.go:599] [“wait response is cancelled”] [to=172.18.1.10:20171] [cause=“context canceled”]
[2021/03/16 11:09:41.738 +08:00] [INFO] [session.go:2136] [GENERAL_LOG] [conn=159196569] [user=@**] [schemaVersion=21836] [txnStartTS=423589100043632688] [forUpdateTS=423589100043632688] [isReadConsistency=false] [current_db=anetmax] [txn_mode=PESSIMISTIC] [sql=commit]

[ERROR] [distsql.go:952] [“inconsistent index handles”] [conn=189443803] [index=PRIMARY] 这种主键index=PRIMARY要是有问题,怎么重建 ,主键不能alter-primary-key=false 情况下

  1. conn=189443803 如果是短链接,麻烦这段完整的日志上传下吧。看下有没有表和索引信息
  2. 不知道删除11840417,11879759,11923376,11928536,11975680,11977593 这几条数据,再重新插入是否可行?
  3. 具体是哪个小版本?可以升级到新版本。

1、我找到表名称了,但是主键的名称是primary,不能使用admin recover index t_name primary;
2、单独查询 select* fromt where 主键 in(11840417,11879759,11923376,11928536,11975680,11977593) 不会出现报错

好的,可以考虑手工恢复这几个记录。