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