diff --git a/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/UsageInfoSubcommand.java b/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/UsageInfoSubcommand.java index e01de9597905..d1c653bfd17e 100644 --- a/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/UsageInfoSubcommand.java +++ b/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/UsageInfoSubcommand.java @@ -154,9 +154,8 @@ private void printInfo(DatanodeUsage info) { info.getContainerCount()); System.out.printf("%-24s: %s (%s) %n", "Container Pre-allocated", info.getCommitted() + " B", StringUtils.byteDesc(info.getCommitted())); - System.out.printf("%-24s: %s (%s) %n", "Remaining Allocatable", - (info.getOzoneAvailable() - info.getCommitted()) + " B", - StringUtils.byteDesc((info.getOzoneAvailable() - info.getCommitted()))); + System.out.printf("%-24s: %s (Ozone Available - Container Pre-allocated - Free Space To Spare) %n", + "Remaining Allocatable", info.getRemainingAllocatable() + " B"); System.out.printf("%-24s: %s (%s) %n", "Free Space To Spare", info.getFreeSpaceToSpare() + " B", StringUtils.byteDesc(info.getFreeSpaceToSpare())); @@ -332,6 +331,10 @@ public long getPipelineCount() { public long getReserved() { return reserved; } + + public long getRemainingAllocatable() { + return ozoneAvailable - committed - freeSpaceToSpare; + } } private static class NodeSelectionArguments extends NodeSelectionMixin { diff --git a/hadoop-ozone/cli-admin/src/test/java/org/apache/hadoop/hdds/scm/cli/datanode/TestUsageInfoSubcommand.java b/hadoop-ozone/cli-admin/src/test/java/org/apache/hadoop/hdds/scm/cli/datanode/TestUsageInfoSubcommand.java index b104db6ef986..a7793e3fc9ae 100644 --- a/hadoop-ozone/cli-admin/src/test/java/org/apache/hadoop/hdds/scm/cli/datanode/TestUsageInfoSubcommand.java +++ b/hadoop-ozone/cli-admin/src/test/java/org/apache/hadoop/hdds/scm/cli/datanode/TestUsageInfoSubcommand.java @@ -98,6 +98,7 @@ public void testCorrectJsonValuesInReport() throws IOException { assertEquals(5, json.get(0).get("containerCount").longValue()); assertEquals(10, json.get(0).get("pipelineCount").longValue()); + assertEquals(80, json.get(0).get("remainingAllocatable").longValue()); } @Test