TIDB集群删除数据提示1105, "inconsistent index idx_code handle count 1928 isn't equal to value count 1926"

集群版本3.0.19,集群删除数据提示:
1105, “inconsistent index idx_code handle count 1928 isn’t equal to value count 1926”
建议怎么修复比较好,当前删除的表数据比较大,通过ADMIN CHECK INDEX tbl_name idx_name; 这种方式检查是否会影响线上?

您这面可以尝试通过id 或者 增加 limit 来分批次删除数据吗?

目前就是通过分页 加limit的 删除的 报错的,,把limit 写成1都不行的

DELETE FROM aa WHERE groupID=2234 AND shopID=343 AND reportDate<=dfdf limit 1 类似这样的SQL 都不行的,最近我们着集群故障过 ,我怀疑是这个引起的 上周连续持续挂2-3个盘的 ,你们内部应该听说过的

您稍等,我们内部在看这个问题了

这个是线上环境吗

我这个表是百亿级别的表,晚上想着执行命令 后面给KILL 怕有什么影响

必须是线上的,

目前就看到有2个命令 可以操作,就是不知道操作的时候,对集群的稳定性如何?
admin check table aa admin check index idx_name

begin;
update mysql.tidb set variable_value=‘72h’ where variable_name=‘tikv_gc_life_time’;
commit;
调整一下 gc 时间,防止数据丢失

现在我还没执行这2个命令 ,需要执行吗? 还有这2个命令对集群稳定性没影响,是吗?

  1. 执行刚才给你发的 修改gc 时间的命令
  2. admin check table 判断一下是不是之前丢数据

嗯 执行了 ,,,估计要执行很久的

之前盘同时挂挂3个节点,肯定有丢数据,有坏了8个REGION

已经对上人了,我这面也拉人在解决。

嗯 好的 感谢,在执行这个命令…百亿表 估计要很久…

还在执行是吗

对的,还没出结果

您这面可以 show create table 吗?

停掉 admin check table 吧,直接执行 admin check index aa idx_code