empty region不合并是为啥

【TiDB 使用环境】生产环境
【TiDB 版本】v8.5.2
【操作系统】
【部署方式】
【集群数据量】
【集群节点数】
【问题复现路径】
【遇到的问题:问题现象及影响】从grafana上看最近一个月的数据,empty-region-count 的数量一直在10.1K左右;参照之前社区的帖子,以及tidb官网;这里检查了配置,都是符合要求的才对。但是空region为啥一直不下降。还基本都稳定在10.1K :joy:
【其他附件:截图/日志/监控】



是不是和我之前遇到的场景一样?

不一样,我这边虽然用到了tiflash,但是没有rename的操作,也没设置placement rule

这个FAQ看了么?尤其这里

没理解啥叫仅当key type为table时此选项才有效;是指这个截图里的查询出来的第一列,我当前type为pd?所以不生效吗? :joy:

指的是这里
https://docs.pingcap.com/zh/tidb/stable/pd-control/#config-show--set-option-value--placement-rules

查了这个值,默认就是table

:thinking:那可能是其他原因了,上次处理这个问题还是几年前

看下 pd operator 那几个监控面板

学习中

这边看到region merge checker里,有大量adj-disallow-merge,不知道这个的原因是啥,我这边部署的时候,所有的节点都没设置label,也没用placement rule


之前还真没注意到过这里。按专栏排查试试

截图截全一点吧 :rofl:

这个我看过,也按照这排查了,这都不符合的

这个里面图表太多了,所以只截取了部分指标 :joy:,这次放了全部指标,谢谢谢谢 :heart:



没有 region merge 的调度产生。感觉和 tiflash 副本有关系,:thinking:你的集群 tilash 的表有多少,能看到有 5.6k 的 learner peer(猜测可能是 tiflash 副本),每一个 表设置 tiflash 在 PD 侧都相当于是一个特殊的 placement rule 。

有51个表创建了tiflash副本;

从PD看板上看,好像是有placementrule,那创建了tiflash副本,他会自动创建特殊的placementrule,那这种空的region该怎么合并 :joy:

你的表是分区表吧?要不然不会有这么多 placement rule。
这种因为相邻的空 region 属于不同的 placement rule 的场景没法合并。
10k 左右的 empty 还是可以接受的,一般不会有啥问题。

:thinking:这么看,文档是对的,只是这个placement rule不一定是人为创建的,也可能是tidb自己创建的。

有一些是分区表,这个tidb官方文档哪里有提及吗?因为后面集群里分区表可能越来越多,这样一来,这种空region也会越来越多