This is an automated email from the ASF dual-hosted git repository.
Gargi-jais11 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 8d0fc9cc687 HDDS-15490. [DiskBalancer] Align batch CLI success
messages with HEALTHY IN_SERVICE datanode selection. (#10457).
8d0fc9cc687 is described below
commit 8d0fc9cc687244b2af1cd65bfb1cb03962ed6db1
Author: slfan1989 <[email protected]>
AuthorDate: Wed Jun 10 12:15:14 2026 +0800
HDDS-15490. [DiskBalancer] Align batch CLI success messages with HEALTHY
IN_SERVICE datanode selection. (#10457).
---
hadoop-hdds/docs/content/design/diskbalancer.md | 4 ++--
.../hadoop/hdds/scm/cli/datanode/DiskBalancerCommands.java | 10 +++++-----
.../hdds/scm/cli/datanode/DiskBalancerStartSubcommand.java | 2 +-
.../hdds/scm/cli/datanode/DiskBalancerStopSubcommand.java | 2 +-
.../hdds/scm/cli/datanode/DiskBalancerSubCommandUtil.java | 2 +-
.../hdds/scm/cli/datanode/DiskBalancerUpdateSubcommand.java | 2 +-
.../hdds/scm/cli/datanode/TestDiskBalancerSubCommands.java | 6 +++---
.../src/main/smoketest/diskbalancer/testdiskbalancer.robot | 6 +++---
8 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/hadoop-hdds/docs/content/design/diskbalancer.md
b/hadoop-hdds/docs/content/design/diskbalancer.md
index 98d206bfb7f..05ed92e77be 100644
--- a/hadoop-hdds/docs/content/design/diskbalancer.md
+++ b/hadoop-hdds/docs/content/design/diskbalancer.md
@@ -69,7 +69,7 @@ Administrators use the `ozone admin datanode diskbalancer`
CLI to manage and mon
- Update configuration parameters
- Query DiskBalancer status and volume density reports
* Each datanode performs its own **authentication** (via RPC) and
**authorization** checks (using `OzoneAdmins` based on `ozone.administrators`
configuration).
-* For batch operations, clients can use the `--in-service-datanodes` flag to
automatically query SCM for all IN_SERVICE datanodes and execute commands on
all of them.
+* For batch operations, clients can use the `--in-service-datanodes` flag to
automatically query SCM for all IN_SERVICE and HEALTHY datanodes and execute
commands on all of them.
**DN - DiskBalancer Service:**
@@ -81,7 +81,7 @@ A daemon thread, the **Scheduler**, runs periodically on each
Datanode.
from the most over-utilized disk (source) to the least utilized disk
(destination).
3. The scheduler dispatches these move tasks to a pool of **Worker** threads
for parallel execution.
-**Note:** SCM is used **only** for datanode discovery when using the
`--in-service-datanodes` flag. SCM provides a list of IN_SERVICE datanodes for
batch operations but
+**Note:** SCM is used **only** for datanode discovery when using the
`--in-service-datanodes` flag. SCM provides a list of IN_SERVICE and HEALTHY
datanodes for batch operations but
does **not** participate in DiskBalancer control operations
(start/stop/update/status/report). All DiskBalancer operations are performed
directly between client and datanode.
## Container Move Process
diff --git
a/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/DiskBalancerCommands.java
b/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/DiskBalancerCommands.java
index 775f86c6848..88c48244dda 100644
---
a/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/DiskBalancerCommands.java
+++
b/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/DiskBalancerCommands.java
@@ -35,9 +35,9 @@
* [--in-service-datanodes] Send requests to all available DataNodes in
HEALTHY
* and IN_SERVICE operational state. When
this option
* is used, specific datanode addresses are
not required.
- * Note: Commands will only be sent to
IN_SERVICE datanodes,
- * excluding DECOMMISSIONING, DECOMMISSIONED,
and nodes
- * in maintenance states.
+ * Note: Commands will only be sent to
HEALTHY datanodes
+ * in IN_SERVICE operational state, excluding
non-HEALTHY,
+ * DECOMMISSIONING, DECOMMISSIONED, and nodes
in maintenance states.
*
* To start:
* ozone admin datanode diskbalancer start {@literal <host[:port]>}
[{@literal <host[:port]>} ...]
@@ -77,7 +77,7 @@
* Start balancer on all IN_SERVICE and HEALTHY datanodes
*
* ozone admin datanode diskbalancer start --in-service-datanodes --json
- * Start balancer on all IN_SERVICE datanodes and output results in
JSON format
+ * Start balancer on all IN_SERVICE and HEALTHY datanodes and output
results in JSON format
*
* To stop:
* ozone admin datanode diskbalancer stop {@literal <host[:port]>}
[{@literal <host[:port]>} ...]
@@ -111,7 +111,7 @@
* Update diskbalancer threshold to 10% on DN-1
*
* ozone admin datanode diskbalancer update --in-service-datanodes -t 10
- * Update diskbalancer threshold to 10% on all IN_SERVICE datanodes
+ * Update diskbalancer threshold to 10% on all IN_SERVICE and HEALTHY
datanodes
*
* ozone admin datanode diskbalancer update DN-1 -t 10 --json
* Update diskbalancer threshold to 10% on DN-1 and output result in
JSON format
diff --git
a/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/DiskBalancerStartSubcommand.java
b/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/DiskBalancerStartSubcommand.java
index b4ee90a15ec..bde873bac45 100644
---
a/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/DiskBalancerStartSubcommand.java
+++
b/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/DiskBalancerStartSubcommand.java
@@ -123,7 +123,7 @@ protected void displayResults(List<String> successNodes,
.map(this::formatDatanodeDisplayName)
.collect(toList())));
} else {
- System.out.println("Started DiskBalancer on all IN_SERVICE nodes.");
+ System.out.println("Started DiskBalancer on all IN_SERVICE and HEALTHY
nodes.");
}
} else {
// Detailed message for specific nodes
diff --git
a/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/DiskBalancerStopSubcommand.java
b/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/DiskBalancerStopSubcommand.java
index dcb79480756..24ffd62aa73 100644
---
a/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/DiskBalancerStopSubcommand.java
+++
b/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/DiskBalancerStopSubcommand.java
@@ -69,7 +69,7 @@ protected void displayResults(List<String> successNodes,
List<String> failedNode
.map(this::formatDatanodeDisplayName)
.collect(toList())));
} else {
- System.out.println("Stopped DiskBalancer on all IN_SERVICE nodes.");
+ System.out.println("Stopped DiskBalancer on all IN_SERVICE and HEALTHY
nodes.");
}
} else {
// Detailed message for specific nodes
diff --git
a/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/DiskBalancerSubCommandUtil.java
b/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/DiskBalancerSubCommandUtil.java
index 3f3fb16331c..09d8cf5e02c 100644
---
a/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/DiskBalancerSubCommandUtil.java
+++
b/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/DiskBalancerSubCommandUtil.java
@@ -75,7 +75,7 @@ public static DiskBalancerProtocol
getSingleNodeDiskBalancerProxy(
}
/**
- * Retrieves all IN_SERVICE datanode addresses with their hostnames from SCM.
+ * Retrieves all IN_SERVICE and HEALTHY datanode addresses with their
hostnames from SCM.
* Used for batch operations with --in-service-datanodes flag.
*
* @param scmClient the SCM client
diff --git
a/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/DiskBalancerUpdateSubcommand.java
b/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/DiskBalancerUpdateSubcommand.java
index 3a550b49380..6a899f5c633 100644
---
a/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/DiskBalancerUpdateSubcommand.java
+++
b/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/DiskBalancerUpdateSubcommand.java
@@ -133,7 +133,7 @@ protected void displayResults(List<String> successNodes,
.map(this::formatDatanodeDisplayName)
.collect(toList())));
} else {
- System.out.println("Updated DiskBalancer configuration on all
IN_SERVICE nodes.");
+ System.out.println("Updated DiskBalancer configuration on all
IN_SERVICE and HEALTHY nodes.");
}
} else {
// Detailed message for specific nodes
diff --git
a/hadoop-ozone/cli-admin/src/test/java/org/apache/hadoop/hdds/scm/cli/datanode/TestDiskBalancerSubCommands.java
b/hadoop-ozone/cli-admin/src/test/java/org/apache/hadoop/hdds/scm/cli/datanode/TestDiskBalancerSubCommands.java
index bd7a079eda7..d7133a3216a 100644
---
a/hadoop-ozone/cli-admin/src/test/java/org/apache/hadoop/hdds/scm/cli/datanode/TestDiskBalancerSubCommands.java
+++
b/hadoop-ozone/cli-admin/src/test/java/org/apache/hadoop/hdds/scm/cli/datanode/TestDiskBalancerSubCommands.java
@@ -192,7 +192,7 @@ public void testStartDiskBalancerWithInServiceDatanodes()
throws Exception {
String output = outContent.toString(DEFAULT_ENCODING);
- Pattern p = Pattern.compile("Started DiskBalancer on all IN_SERVICE
nodes\\.");
+ Pattern p = Pattern.compile("Started DiskBalancer on all IN_SERVICE and
HEALTHY nodes\\.");
Matcher m = p.matcher(output);
assertTrue(m.find());
}
@@ -323,7 +323,7 @@ public void testStopDiskBalancerWithInServiceDatanodes()
throws Exception {
c.parseArgs("--in-service-datanodes");
cmd.call();
- Pattern p = Pattern.compile("Stopped DiskBalancer on all IN_SERVICE
nodes\\.");
+ Pattern p = Pattern.compile("Stopped DiskBalancer on all IN_SERVICE and
HEALTHY nodes\\.");
Matcher m = p.matcher(outContent.toString(DEFAULT_ENCODING));
assertTrue(m.find());
}
@@ -378,7 +378,7 @@ public void testUpdateDiskBalancerWithInServiceDatanodes()
throws Exception {
c.parseArgs("--in-service-datanodes", "-t", "0.005", "-b", "100");
cmd.call();
- Pattern p = Pattern.compile("Updated DiskBalancer configuration on all
IN_SERVICE nodes\\.");
+ Pattern p = Pattern.compile("Updated DiskBalancer configuration on all
IN_SERVICE and HEALTHY nodes\\.");
Matcher m = p.matcher(outContent.toString(DEFAULT_ENCODING));
assertTrue(m.find());
}
diff --git
a/hadoop-ozone/dist/src/main/smoketest/diskbalancer/testdiskbalancer.robot
b/hadoop-ozone/dist/src/main/smoketest/diskbalancer/testdiskbalancer.robot
index 6e307846098..a6d02023d7c 100644
--- a/hadoop-ozone/dist/src/main/smoketest/diskbalancer/testdiskbalancer.robot
+++ b/hadoop-ozone/dist/src/main/smoketest/diskbalancer/testdiskbalancer.robot
@@ -46,11 +46,11 @@ Check failure with non-admin user to start, stop and update
diskbalancer with --
Check success with admin user for start, stop and update diskbalancer with
--in-service-datanodes
Run Keyword Kinit test user testuser
testuser.keytab
${result} = Execute ozone admin datanode
diskbalancer start --in-service-datanodes
- Should Contain ${result}
Started DiskBalancer on all IN_SERVICE nodes.
+ Should Contain ${result}
Started DiskBalancer on all IN_SERVICE and HEALTHY nodes.
${result} = Execute ozone admin datanode
diskbalancer stop --in-service-datanodes
- Should Contain ${result}
Stopped DiskBalancer on all IN_SERVICE nodes.
+ Should Contain ${result}
Stopped DiskBalancer on all IN_SERVICE and HEALTHY nodes.
${result} = Execute ozone admin datanode
diskbalancer update -t 0.0002 --in-service-datanodes
- Should Contain ${result}
Updated DiskBalancer configuration on all IN_SERVICE nodes.
+ Should Contain ${result}
Updated DiskBalancer configuration on all IN_SERVICE and HEALTHY nodes.
Check success with non-admin user for status and report diskbalancer with
--in-service-datanodes
Run Keyword Kinit test user testuser2
testuser2.keytab
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]