You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by de...@apache.org on 2026/02/04 04:31:31 UTC

(ozone) branch master updated: HDDS-14533. Include filesystem metrics in storage Distribution endpoint (#9700)

This is an automated email from the ASF dual-hosted git repository.

devesh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new 377b67f1631 HDDS-14533. Include filesystem metrics in storage Distribution endpoint (#9700)
377b67f1631 is described below

commit 377b67f1631fe81618d2390726849f946f7b1b5b
Author: Priyesh Karatha <35...@users.noreply.github.com>
AuthorDate: Wed Feb 4 10:01:25 2026 +0530

    HDDS-14533. Include filesystem metrics in storage Distribution endpoint (#9700)
---
 .../ozone/recon/TestStorageDistributionEndpoint.java       | 14 ++++++++------
 .../ozone/recon/api/StorageDistributionEndpoint.java       | 14 ++++++++++----
 2 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/hadoop-ozone/integration-test-recon/src/test/java/org/apache/hadoop/ozone/recon/TestStorageDistributionEndpoint.java b/hadoop-ozone/integration-test-recon/src/test/java/org/apache/hadoop/ozone/recon/TestStorageDistributionEndpoint.java
index ea6894831a7..a7e880a79f7 100644
--- a/hadoop-ozone/integration-test-recon/src/test/java/org/apache/hadoop/ozone/recon/TestStorageDistributionEndpoint.java
+++ b/hadoop-ozone/integration-test-recon/src/test/java/org/apache/hadoop/ozone/recon/TestStorageDistributionEndpoint.java
@@ -223,12 +223,14 @@ private boolean verifyStorageDistributionAfterKeyCreation() {
       for (DatanodeStorageReport report : reports) {
         for (HddsProtos.DatanodeUsageInfoProto scmReport : scmReports) {
           if (scmReport.getNode().getUuid().equals(report.getDatanodeUuid())) {
-            assertEquals(report.getMinimumFreeSpace(), scmReport.getFreeSpaceToSpare());
-            assertEquals(report.getReserved(), scmReport.getReserved());
-            assertEquals(report.getCapacity(), scmReport.getCapacity());
-            assertEquals(report.getRemaining(), scmReport.getRemaining());
-            assertEquals(report.getUsed(), scmReport.getUsed());
-            assertEquals(report.getCommitted(), scmReport.getCommitted());
+            assertEquals(scmReport.getFreeSpaceToSpare(), report.getMinimumFreeSpace());
+            assertEquals(scmReport.getReserved(), report.getReserved());
+            assertEquals(scmReport.getCapacity(), report.getCapacity());
+            assertEquals(scmReport.getRemaining(), report.getRemaining());
+            assertEquals(scmReport.getUsed(), report.getUsed());
+            assertEquals(scmReport.getCommitted(), report.getCommitted());
+            assertEquals(scmReport.getFsAvailable(), report.getFilesystemAvailable());
+            assertEquals(scmReport.getFsCapacity(), report.getFilesystemCapacity());
           }
         }
       }
diff --git a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/StorageDistributionEndpoint.java b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/StorageDistributionEndpoint.java
index 96cf36fff31..e5ae2550475 100644
--- a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/StorageDistributionEndpoint.java
+++ b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/StorageDistributionEndpoint.java
@@ -31,6 +31,7 @@
 import javax.ws.rs.Path;
 import javax.ws.rs.Produces;
 import javax.ws.rs.core.Response;
+import org.apache.hadoop.hdds.fs.SpaceUsageSource;
 import org.apache.hadoop.hdds.protocol.DatanodeDetails;
 import org.apache.hadoop.hdds.scm.container.placement.metrics.SCMNodeMetric;
 import org.apache.hadoop.hdds.scm.container.placement.metrics.SCMNodeStat;
@@ -238,8 +239,8 @@ private DatanodeStorageReport getStorageReport(DatanodeDetails datanode) {
       long committed = nodeStat.getCommitted() != null ? nodeStat.getCommitted().get() : 0L;
       long minFreeSpace  = nodeStat.getFreeSpaceToSpare() != null ? nodeStat.getFreeSpaceToSpare().get() : 0L;
       long reservedSpace = nodeStat.getReserved() != null ? nodeStat.getReserved().get() : 0L;
-
-      return DatanodeStorageReport.newBuilder()
+      SpaceUsageSource.Fixed fsUsage = nodeManager.getTotalFilesystemUsage(datanode);
+      DatanodeStorageReport.Builder builder = DatanodeStorageReport.newBuilder()
           .setCapacity(capacity)
           .setUsed(used)
           .setRemaining(remaining)
@@ -247,8 +248,13 @@ private DatanodeStorageReport getStorageReport(DatanodeDetails datanode) {
           .setMinimumFreeSpace(minFreeSpace)
           .setReserved(reservedSpace)
           .setDatanodeUuid(datanode.getUuidString())
-          .setHostName(datanode.getHostName())
-          .build();
+          .setHostName(datanode.getHostName());
+      if (fsUsage != null) {
+        builder.setFilesystemCapacity(fsUsage.getCapacity())
+            .setFilesystemAvailable(fsUsage.getAvailable())
+            .setFilesystemUsed(fsUsage.getUsedSpace());
+      }
+      return builder.build();
     } catch (Exception e) {
       LOG.error("Error getting storage report for datanode: {}", datanode, e);
       return null; // Return null on any error


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ozone.apache.org
For additional commands, e-mail: commits-help@ozone.apache.org