【详述】be标签功能会导致tablet不停的BALANCE调度,导入长时间be磁盘吞吐很高
【背景】使用be标签功能,使表tablet均匀分布到不同标签中
【业务影响】调度使磁盘吞吐上升影响正常业务使用
【是否存算分离】 否
【StarRocks版本】3.2.12 和 3.3.9
【集群规模】例如:3fe(1 follower+2observer)+6be
【机器信息】CPU虚拟核/内存/网卡,8C/32G/万兆
【联系方式】社区群4-rac
【附件】
表结构
CREATE TABLE `sbtest4` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT "",
`k` bigint(20) NOT NULL DEFAULT "0" COMMENT "",
`c` varchar(600) NOT NULL DEFAULT "" COMMENT "",
`pad` varchar(600) NOT NULL DEFAULT "" COMMENT "",
INDEX idx_k (`k`) USING BITMAP
) ENGINE=OLAP
PRIMARY KEY(`id`)
DISTRIBUTED BY HASH(`id`) BUCKETS 128
PROPERTIES (
"replication_num" = "3"
);
数据量大概10亿
ALTER TABLE sbtest4
SET ("labels.location" = "target:cn_d,target:cn_e,target:cn_f");
ALTER TABLE sbtest5
SET ("labels.location" = "target:cn_d,target:cn_e,target:cn_f");
产生问题:
1.新建表和修改表的属性 "labels.location" 使表副本按标签进行分布,并不能保证所有副本都按照标签分布,有少量副本分布在相同标签组中
2.当集群表使用按标签进行分布时,集群后端会不停的进行tablet BALANCE调度,导致磁盘吞吐高进而影响整个集群,开启标签会导致集群调度问题(关闭标签磁盘吞吐恢复正常)

3.当修改存量大表(单个tablet比较大)的 "labels.location" 使表副本按标签进行分布,会导致大量的调度导致磁盘吞吐打满
4.当表使用colocate join时不支持指定labels.location 报错colocate table doesn't support location property.
5.目前在3.2.12和3.3.9这2个版本都存在以上问题