INFORMATION_SCHEMA.TIKV_REGION_STATUS的TABLE_ID为null的怪异现象

版本:4.0.14

系统:linux

现象:
SELECT count(1) FROM INFORMATION_SCHEMA.TIKV_REGION_STATUS where table_id is null;

发现有众多table_id为空的region,查看TIKV_REGION_PEERS表region对应的peer还有信息,和闫彬彬老师讨论了下,发现每删除一个表,table_id is null的情况都会+1,我的频繁会做drop table的集群确实会出现该结果过多的情况,请问是删除表的时候仅仅删除了映射信息,而不会删除region相关信息导致的么,还是其他的情况

1 个赞

可以看看这些 region 的 APPROXIMATE_SIZE 是不是都是 1,如果是1表示空 region,应该就是删除表后遗留下来的,这些表的 table_id 也会被清理。

3 个赞

有一些是空的region,有一些则不是,一共有6000多个空region,一共有1000张表,开启region merge,没有开启跨表merge,可能是不相邻的空region不能合并

这些非空 region 是不是刚删除的表,可能还没 gc?如果长期存在,可能是存储了元数据信息

感谢大佬回复,试了几个region_id,在pd ctl中查看是空的,但是APPROXIMATE_SIZE和keys都不小,有一部分的EPOCH_VERSION很高,应该是没有gc,但是也有一部分EPOCH_VERSION不高,就不太清楚是什么了,元数据的存储也应该有具体的系统表吧

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。