This is an automated email from the ASF dual-hosted git repository.
kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0 by this push:
new 7f10652966e [fix](tablet sched) disable disk balance for single
replica (#29576) (#29756)
7f10652966e is described below
commit 7f10652966ea13f4a1b0d1cd04a8546d8b304a05
Author: Kang <[email protected]>
AuthorDate: Wed Jan 10 19:13:57 2024 +0800
[fix](tablet sched) disable disk balance for single replica (#29576)
(#29756)
Co-authored-by: yujun <[email protected]>
---
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 025b6f91bf8..0941ae047ef 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
@@ -1023,6 +1023,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 bec896c5dfb..fc9fb0c7a65 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
@@ -26,6 +26,7 @@ import org.apache.doris.clone.SchedException.Status;
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;
@@ -208,6 +209,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]