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