空region不合并

【 TiDB 使用环境】线上
【 TiDB 版本】v5.0.6
【遇到的问题】大量1M左右的region不合并
【复现路径】做过哪些操作出现的问题
【问题现象及影响】
空region一直没法回收,查看空region大部分属于无数据的表,但是也开启了enable-cross-table-merge,不知道为什么不合并



【附件】

参考这里看一下

enable-cross-table-merge 默认 false ,如果为 true,则表示可以合并不同表中的两个区域,仅当 key type 为 “table” 时此选项才有效。

tikv 参数:

  • split-region-on-table ,默认值为 true,开启按 table 分裂 Region的开关,为了配合合并空 region 需要将其设置为 false。


我看参数都是对的

请问集群有任务定期删除大量数据吗?我们每天定期有删除大量数据的任务在跑,有类似的情况,但是每天有empty region 下降,在删除大量数据后又上升,有一个波动,符合我们自己的预期

schedule.enable-cross-table-merge
coprocessor.split-region-on-table false

schedule.split-merge-interval这个时间调小点(默认是2小时合并一次)

是有tiflash吗,pd-ctl scheduler show看下

对,有tiflash
image

有大量的truncate,但是目前是没有波动,这些空region就是不合并


是一个小时

看下PD 有region merge checker面板不

有,但是empty还是不合并

找2个相邻的空region,即第一个region的endkey 和第二个的startkey一样,手动发起个合并pd-ctl operator add merge-region 1 2 然后观察pd leader日志和tikv日志 检查合并情况

把max-merge-region-keys和max-merge-region-size都调小一点
split-merge-interval给到1m
store limit适量加大

这样调整试试

合并之后,导致了一个TiFlash节点挂了,无法启动了,down peer也增加了


image

这个值不是大于之后就不合并么,如果调小了不是更不合并吗?

tiflash上不是所有表都同步了吧

不是 ,是部分表同步,不知道空region是不是和tiflash有关,操作opeartor add merge-region 两个region id后 tiflash就宕了

tiflash的报错日志 上传下吧 ,等tiflash大佬来看看

链接: https://pan.baidu.com/s/1iSid4SFVYoUKn_mLgK-mpQ 提取码: 73ix
日志比较大,09:38 开始操作的opeartor add merge-region 两个region id