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]