jdbc 录入数据 tikv 报错 数据索引不一致 , error 8141

各位老师好, 在6.5.1 版本 jdbc insert 数据, tidb 报错 tikv error 8141 数据索引不一致性现象, 有解决方案吗?

这个表数据比较大,插入频繁
日增大概2亿 每15分钟200万 这200万数据大概就是5000次一个批次(提交一次) 大概20个并发

数据不多重建下索引试试?

老师好,这个环境数据量较大,且后期录入数据比较频繁,看看有没代价比较低的解决思路

能找个维护时间停业务重建索引是最好的

8141的话,可以设置参数跳过错误检查
https://docs.pingcap.com/zh/tidb/stable/troubleshoot-data-inconsistency-errors#关闭错误检查

可以看看这个参数是否可以解决

idb_txn_assertion_level 从 v6.0.0 版本开始引入

  • 作用域:SESSION | GLOBAL
  • 是否持久化到集群:是
  • 默认值:FAST
  • 可选值:OFFFASTSTRICT
  • 这个变量用于设置 assertion 级别。assertion 是一项在事务提交过程中进行的数据索引一致性校验,它对正在写入的 key 是否存在进行检查。如果不符则说明数据索引不一致,会导致事务 abort。详见数据索引一致性报错
  • 对于新创建的 v6.0.0 及以上的集群,默认值为 FAST。对于升级版本的集群,如果升级前是低于 v6.0.0 的版本,升级后默认值为 OFF
    • OFF: 关闭该检查。
    • FAST: 开启大多数检查项,对性能几乎无影响。
    • STRICT: 开启全部检查项,当系统负载较高时,对悲观事务的性能有较小影响。