TiDB v5.0.3 数据索引不一致,且重建索引后依然没有解决问题

【 TiDB 使用环境】测试
【 TiDB 版本】v5.0.3
【遇到的问题:问题现象及影响】
起因是对一个大表(6亿)循环进行 update 修改某个字段值,反复执行了几次下图的 update 之后,遇到如下报错

执行 analyze table 结果如下

对包含该字段的索引执行 analyze table index 结果如下


admin check table 结果如下

表索引信息如下,标红处是包含 update 的 file_indexState 字段索引

多次重试未找到解决方案后,尝试重建其中一个索引
先 DROP INDEX ix_dms_file_indexState_lastSize ON dms_file; 之后新建索引,建索引花费了10个多小时

新建索引后,依然是同样的相关报错

请教一下,
这个问题是会在什么情况下出现呢?
需要怎么解决这个问题? 是否是需要重建所有有关这个字段的索引?如果需要重建索引是否有其他方式,重建索引代价巨大,一个索引创建都需要10个小时。

感谢~

这是表和索引不一致了,重建索引都没用。。。不行找专家吧

之前遇到过这个好像是个bug。看看是否是这个:https://github.com/pingcap/tidb/issues/43294
我们之前是重建索引解决的。但是你这个数据量有点大,是不太好处理。。。

你的表数据是怎么进到库里的 ,前面是不是有 lightning 导入失败?
可以试试 admin recover index

遇到bug了

不是lightning 导入进来的数据。执行了,也不行呐 :sob:

啊,那目前有比较好的解决方法吗?

这个乍能复现一下

遇上大事了,不一致找专家

这个虽然是测试环境,但也不可以随便操作数据。我可以找一个同样环境的,造一些数据测试一下,但是应该造不了6亿那么大量。研发那边说的是,他们就是执行那个 update limit 执行多几次,就不行了

我们把每次 update 调整小一些,多次尝试可以发现有时候可以 update ,有时候则会报错


升级到7.5

找专家