inconsistent index tbl handle count 144 isn't equal to value count 140

【 TiDB 使用环境】生产环境
【 TiDB 版本】v3.0.3
【遇到的问题:问题现象及影响】
1.昨天tikv服务器异常宕机,重启服务器后拉起tidb服务,提示有两个tikv处于down状态无法拉起,查看报错日志[Err] 9005 - Region is unavailable,使用unsafe-recover命令在所有tikv上执行一遍,再次拉起tikv都正常启动,简单检查了下大表可以正常打开就没再看了;
2.今天早上看日志插入时报错,使用admin check table xx,还是有这个[Err] 9005 - Region is unavailable报错,看了下tidb日志,报错如下,提示索引不一致;


3.查看tidb监控,down-region还有很多,现在基本不下降了,现在该怎么处理

tikv-ctl有个检查bad-sst文件功能 检测下试试

1 个赞

检查了 all-health

pd-ctl region check down-peer 看哪些region down了

2 个赞

查看是否都是那2个节点的region副本当了 如果都是那2个kv的有问题 建议缩掉那2个有问题的节点

1 个赞

你的问题是所有的数据已经损坏 索引损坏,表损坏,能导出导出能备份备份吧。再重建

1 个赞

我看了下每个store上都有down-peer


这down-peer看着也没有自动消解的趋势

之前我是少量sst文件损坏 我自己手动修复了下 你这规模太大了 磁盘肯定出问题了 能备份先备份下,准备重建吧

1 个赞

不会消除的 你这里丢失的regin 有90k 数据都坏了

1 个赞

刚才回复错了 之前是使用tikv-ctl查看的bad-region,没查看bad-ssts,刚查了下发现这个工具包命令不支持查看bad-ssts,


我搜了tidb日志,我看没有出现region is unavailable,报错都是说索引不一致。

tikv日志报的是region15463620没leaderde问题,我看了下这个region没啥问题

miss-peer_region_count 我看一直在减少 速度很慢

找到对应的表修复一下索引;
ADMIN CLEANUP INDEX tbl idx;—索引比表多
ADMIN RECOVER INDEX tbl idx;—索引比表少

1 个赞

索引不一致报错,https://docs.pingcap.com/zh/tidb/v7.3/troubleshoot-data-inconsistency-errors#error-8141

1 个赞


https://docs.pingcap.com/zh/tidb/v7.3/online-unsafe-recovery#第-3-步检查数据索引一致性rawkv-不需要

2 个赞

执行ADMIN CHECK INDEX 时就报了[Err] 9005 - Region is unavailable

这是当前tikv的日志,


换个了高版本的工具包查出来bad-sst和你这个报错不一样

check bad-sst报以下错误

corruption info:
/TiDBDisk1/deploy/data/db/5623506.sst: IO error: No such file or directoryWhile open a file for random read: /TiDBDisk1/deploy/data/db/5623506.sst: No such file or directory

sst meta:
sst 5623506 is not found in manifest: Error in processing file /TiDBDisk1/deploy/data/db/MANIFEST-5610025 NotFound: sst 5623506 is not in the live files set of the manifes

pd-ctl region 15463620 看下, bad-sst检查报错应该是那几个sst file已经没了

1 个赞