diff --git a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java index 956b667981..d3211c5b39 100644 --- a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java +++ b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java @@ -1020,6 +1020,12 @@ public class Config extends ConfigBase { @ConfField(mutable = true, masterOnly = true) public static boolean disable_balance = false; + /** + * when be rebalancer idle, then disk balance will occurs. + */ + @ConfField(mutable = true, masterOnly = true) + public static int be_rebalancer_idle_seconds = 60; + /** * if set to true, TabletScheduler will not do disk balance. */ diff --git a/fe/fe-core/src/main/java/org/apache/doris/clone/Rebalancer.java b/fe/fe-core/src/main/java/org/apache/doris/clone/Rebalancer.java index 8f6b1d229f..def9e18a7e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/clone/Rebalancer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/clone/Rebalancer.java @@ -19,6 +19,7 @@ package org.apache.doris.clone; import org.apache.doris.catalog.TabletInvertedIndex; import org.apache.doris.clone.TabletScheduler.PathSlot; +import org.apache.doris.common.Config; import org.apache.doris.resource.Tag; import org.apache.doris.system.Backend; import org.apache.doris.system.SystemInfoService; @@ -100,7 +101,7 @@ public abstract class Rebalancer { Long lastPickTime = lastPickTimeTable.get(tag, medium); Long now = System.currentTimeMillis(); LOG.debug("tag={}, medium={}, lastPickTime={}, now={}", tag, medium, lastPickTime, now); - return lastPickTime == null || now - lastPickTime >= 5 * 60 * 1000L; + return lastPickTime == null || now - lastPickTime >= Config.be_rebalancer_idle_seconds * 1000L; } public AgentTask createBalanceTask(TabletSchedCtx tabletCtx)