You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by mo...@apache.org on 2022/06/16 08:35:55 UTC
[incubator-doris] 01/02: [fix] Fix disk used pct only consider the data that used by Doris (#9705)
This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch dev-1.0.1
in repository https://gitbox.apache.org/repos/asf/incubator-doris.git
commit db4ab9dc12bc431b090179e546300f18228d7575
Author: ccoffline <45...@users.noreply.github.com>
AuthorDate: Wed Jun 15 16:28:56 2022 +0800
[fix] Fix disk used pct only consider the data that used by Doris (#9705)
---
.../src/main/java/org/apache/doris/catalog/DiskInfo.java | 14 +++++++++-----
.../java/org/apache/doris/clone/BackendLoadStatistic.java | 2 +-
.../java/org/apache/doris/clone/RebalancerTestUtil.java | 1 +
3 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/DiskInfo.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/DiskInfo.java
index 3c26635ee6..e007286219 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/DiskInfo.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/DiskInfo.java
@@ -90,6 +90,10 @@ public class DiskInfo implements Writable {
this.dataUsedCapacityB = dataUsedCapacityB;
}
+ public long getDiskUsedCapacityB() {
+ return totalCapacityB - diskAvailableCapacityB;
+ }
+
public long getAvailableCapacityB() {
return diskAvailableCapacityB;
}
@@ -99,7 +103,7 @@ public class DiskInfo implements Writable {
}
public double getUsedPct() {
- return (totalCapacityB - diskAvailableCapacityB) / (double) (totalCapacityB <= 0 ? 1 : totalCapacityB);
+ return this.getDiskUsedCapacityB() / (double) (totalCapacityB <= 0 ? 1 : totalCapacityB);
}
public DiskState getState() {
@@ -148,11 +152,11 @@ public class DiskInfo implements Writable {
LOG.debug("flood stage: {}, diskAvailableCapacityB: {}, totalCapacityB: {}",
floodStage, diskAvailableCapacityB, totalCapacityB);
if (floodStage) {
- return diskAvailableCapacityB < Config.storage_flood_stage_left_capacity_bytes &&
- (double) (totalCapacityB - diskAvailableCapacityB) / totalCapacityB > (Config.storage_flood_stage_usage_percent / 100.0);
+ return diskAvailableCapacityB < Config.storage_flood_stage_left_capacity_bytes
+ && this.getUsedPct() > (Config.storage_flood_stage_usage_percent / 100.0);
} else {
- return diskAvailableCapacityB < Config.storage_min_left_capacity_bytes ||
- (double) (totalCapacityB - diskAvailableCapacityB) / totalCapacityB > (Config.storage_high_watermark_usage_percent / 100.0);
+ return diskAvailableCapacityB < Config.storage_min_left_capacity_bytes
+ || this.getUsedPct() > (Config.storage_high_watermark_usage_percent / 100.0);
}
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/clone/BackendLoadStatistic.java b/fe/fe-core/src/main/java/org/apache/doris/clone/BackendLoadStatistic.java
index 8c575d8cb9..94a836173d 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/clone/BackendLoadStatistic.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/clone/BackendLoadStatistic.java
@@ -188,7 +188,7 @@ public class BackendLoadStatistic {
RootPathLoadStatistic pathStatistic = new RootPathLoadStatistic(beId, diskInfo.getRootPath(),
diskInfo.getPathHash(), diskInfo.getStorageMedium(),
- diskInfo.getTotalCapacityB(), diskInfo.getDataUsedCapacityB(), diskInfo.getState());
+ diskInfo.getTotalCapacityB(), diskInfo.getDiskUsedCapacityB(), diskInfo.getState());
pathStatistics.add(pathStatistic);
}
diff --git a/fe/fe-core/src/test/java/org/apache/doris/clone/RebalancerTestUtil.java b/fe/fe-core/src/test/java/org/apache/doris/clone/RebalancerTestUtil.java
index 4b3e4c693b..744389951d 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/clone/RebalancerTestUtil.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/clone/RebalancerTestUtil.java
@@ -47,6 +47,7 @@ public class RebalancerTestUtil {
diskInfo.setPathHash(id);
diskInfo.setTotalCapacityB(totalCap);
diskInfo.setDataUsedCapacityB(usedCap);
+ diskInfo.setAvailableCapacityB(totalCap - usedCap);
disks.put(diskInfo.getRootPath(), diskInfo);
be.setDisks(ImmutableMap.copyOf(disks));
be.setAlive(true);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org