This is an automated email from the ASF dual-hosted git repository.

dataroaring pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 2d89b7aed46 [fix](tablet sched) disable disk balance for single 
replica (#29576)
2d89b7aed46 is described below

commit 2d89b7aed4695af01f2c411c7cbec1df5c6a068d
Author: yujun <[email protected]>
AuthorDate: Sun Jan 7 19:21:42 2024 +0800

    [fix](tablet sched) disable disk balance for single replica (#29576)
---
 fe/fe-common/src/main/java/org/apache/doris/common/Config.java      | 6 ++++++
 fe/fe-core/src/main/java/org/apache/doris/clone/DiskRebalancer.java | 5 +++++
 2 files changed, 11 insertions(+)

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 d32d85d8432..3a25811eead 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
@@ -1022,6 +1022,12 @@ public class Config extends ConfigBase {
     @ConfField(mutable = true, masterOnly = true)
     public static boolean disable_disk_balance = false;
 
+    /**
+     * if set to false, TabletScheduler will not do disk balance for replica 
num = 1.
+     */
+    @ConfField(mutable = true, masterOnly = true)
+    public static boolean enable_disk_balance_for_single_replica = false;
+
     // if the number of scheduled tablets in TabletScheduler exceed 
max_scheduling_tablets
     // skip checking.
     @ConfField(mutable = true, masterOnly = true)
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/clone/DiskRebalancer.java 
b/fe/fe-core/src/main/java/org/apache/doris/clone/DiskRebalancer.java
index 36fcb2a4e25..631933b0692 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/clone/DiskRebalancer.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/clone/DiskRebalancer.java
@@ -27,6 +27,7 @@ import org.apache.doris.clone.SchedException.SubCode;
 import org.apache.doris.clone.TabletSchedCtx.BalanceType;
 import org.apache.doris.clone.TabletSchedCtx.Priority;
 import org.apache.doris.clone.TabletScheduler.PathSlot;
+import org.apache.doris.common.Config;
 import org.apache.doris.common.FeConstants;
 import org.apache.doris.system.SystemInfoService;
 import org.apache.doris.thrift.TStorageMedium;
@@ -210,6 +211,10 @@ public class DiskRebalancer extends Rebalancer {
                 if (alternativeTabletIds.contains(tabletId)) {
                     continue;
                 }
+                if (!Config.enable_disk_balance_for_single_replica
+                        && 
invertedIndex.getReplicasByTabletId(tabletId).size() <= 1) {
+                    continue;
+                }
                 Replica replica = invertedIndex.getReplica(tabletId, 
beStat.getBeId());
                 if (replica == null) {
                     continue;


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to