From 168afdb965c6b00aef06cc92164c9c80bd99c8d4 Mon Sep 17 00:00:00 2001 From: deardeng <565620795@qq.com> Date: Tue, 16 Jan 2024 17:31:44 +0800 Subject: [PATCH] [fix](disk balance) Change disk rebalance unpick time to configurable (#28949) --- .../src/main/java/org/apache/doris/common/Config.java | 6 ++++++ .../src/main/java/org/apache/doris/clone/Rebalancer.java | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) 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)