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 <[email protected]> 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: [email protected] For additional commands, e-mail: [email protected]
