TiKV primary lock 报错的 region 不存在

【 TiDB 版本】

  • 7.1.3

【遇到的问题】

1、tikv 日志经常出现这个 primary lock 的告警

2、拿到报错日志里面的 key 去 TIKV_REGION_STATUS 表查不到相关的 region

SELECT
	* 
FROM
	TIKV_REGION_STATUS 
WHERE
	START_KEY = '7480000000000007535F698000000000000001016164646461633364FF6131383862306136FF6439643962663931FF6264363731396136FF0000000000000000F7' 
or 
  END_KEY = '7480000000000007535F698000000000000001016164646461633364FF6131383862306136FF6439643962663931FF6264363731396136FF0000000000000000F7'

补充一下:
之前跟 region key 相关的表已经被删除了,但是这个报错还一直存在,提示的 key 跟之前被删除表的 key 是一样的!

有几个 tikv ?
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
发一下看看~
看上去 tikv 异常引起的~
可以考虑先扩容再把有问题的 tikv 节点缩容掉~

你这肯定在 TIKV_REGION_STATUS 查不到啊, Region 是一段范围,你这条件用的等于,建议你用pd-ctl 搞下看看,或者用 tidb_decode_key 函数解一下

你这样查是查不到的,region合并了。你用pd-ctl查
pd-ctl region keys 7480000000000007535F698000000000000001016164646461633364FF6131383862306136FF6439643962663931FF6264363731396136FF0000000000000000F7
能得到好几个region

tidb_decode_key 查到的 table_id 跟之前被删除的表不对应,应该是已经被合并了

SQL 写法不合适