From f8aa46419a183a7c31d42e0077d5ba4a12658b49 Mon Sep 17 00:00:00 2001 From: XuanYang-cn Date: Mon, 13 Nov 2023 11:18:19 +0800 Subject: [PATCH] Add LevelZeroCompaction configs (#28190) See also: #27606 Signed-off-by: yangxuan --- configs/milvus.yaml | 6 ++++++ pkg/util/paramtable/component_param.go | 30 ++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/configs/milvus.yaml b/configs/milvus.yaml index 3158cd2be4..0f0f5860fe 100644 --- a/configs/milvus.yaml +++ b/configs/milvus.yaml @@ -380,6 +380,12 @@ dataCoord: maxParallelTaskNum: 10 # max parallel compaction task number indexBasedCompaction: true + levelzero: + enable: false + forceTrigger: + minSize: 8 # The minmum size in MB to force trigger a LevelZero Compaction + deltalogMinNum: 10 # the minimum number of deltalog files to force trigger a LevelZero Compaction + enableGarbageCollection: true gc: interval: 3600 # gc interval in seconds diff --git a/pkg/util/paramtable/component_param.go b/pkg/util/paramtable/component_param.go index dae878974f..fb21dcf3df 100644 --- a/pkg/util/paramtable/component_param.go +++ b/pkg/util/paramtable/component_param.go @@ -2036,6 +2036,11 @@ type dataCoordConfig struct { SingleCompactionDeltalogMaxNum ParamItem `refreshable:"true"` GlobalCompactionInterval ParamItem `refreshable:"false"` + // LevelZeroCompaction + LevelZeroCompactionEnabled ParamItem `refreshable:"true"` + LevelZeroCompactionTriggerMinSize ParamItem `refreshable:"true"` + LevelZeroCompactionTriggerDeltalogMinNum ParamItem `refreshable:"true"` + // Garbage Collection EnableGarbageCollection ParamItem `refreshable:"false"` GCInterval ParamItem `refreshable:"false"` @@ -2319,6 +2324,31 @@ During compaction, the size of segment # of rows is able to exceed segment max # } p.GlobalCompactionInterval.Init(base.mgr) + // LevelZeroCompaction + p.LevelZeroCompactionEnabled = ParamItem{ + Key: "dataCoord.compaction.levelzero.enable", + Version: "2.3.4", + Doc: "Whether to enable LevelZeroCompaction", + DefaultValue: "false", + } + p.LevelZeroCompactionEnabled.Init(base.mgr) + + p.LevelZeroCompactionTriggerMinSize = ParamItem{ + Key: "dataCoord.compaction.levelzero.forceTrigger.minSize", + Version: "2.3.4", + Doc: "The minmum size in MB to force trigger a LevelZero Compaction", + DefaultValue: "8", + } + p.LevelZeroCompactionTriggerMinSize.Init(base.mgr) + + p.LevelZeroCompactionTriggerDeltalogMinNum = ParamItem{ + Key: "dataCoord.compaction.levelzero.forceTrigger.deltalogMinNum", + Version: "2.3.4", + Doc: "The minimum number of deltalog files to force trigger a LevelZero Compaction", + DefaultValue: "10", + } + p.LevelZeroCompactionTriggerDeltalogMinNum.Init(base.mgr) + p.EnableGarbageCollection = ParamItem{ Key: "dataCoord.enableGarbageCollection", Version: "2.0.0",