This is an automated email from the ASF dual-hosted git repository.
adoroszlai 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 fbb792d46d HDDS-11945. Improve startup message for ozone repair
commands (#7591)
fbb792d46d is described below
commit fbb792d46d1b084e14123a7033b50906f8937e13
Author: Sarveksha Yeshavantha Raju
<[email protected]>
AuthorDate: Fri Jan 3 14:57:48 2025 +0530
HDDS-11945. Improve startup message for ozone repair commands (#7591)
---
.../apache/hadoop/ozone/repair/OzoneRepair.java | 7 +++++-
.../hadoop/ozone/repair/TestOzoneRepair.java | 25 ++++++++++++++++++++--
2 files changed, 29 insertions(+), 3 deletions(-)
diff --git
a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/repair/OzoneRepair.java
b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/repair/OzoneRepair.java
index b1ed206f97..864022da6f 100644
---
a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/repair/OzoneRepair.java
+++
b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/repair/OzoneRepair.java
@@ -31,7 +31,8 @@ import java.util.Scanner;
* Ozone Repair Command line tool.
*/
@CommandLine.Command(name = "ozone repair",
- description = "Operational tool to repair Ozone",
+ description = "Advanced tool to repair Ozone. The nodes being repaired " +
+ "must be stopped before the tool is run.",
versionProvider = HddsVersionProvider.class,
mixinStandardHelpOptions = true)
public class OzoneRepair extends GenericCli implements ExtensibleParentCommand
{
@@ -46,6 +47,10 @@ public class OzoneRepair extends GenericCli implements
ExtensibleParentCommand {
@Override
public int execute(String[] argv) {
+ if (argv.length == 0 || argv[0].equals("--help") || argv[0].equals("-h")) {
+ return super.execute(argv);
+ }
+
String currentUser = getSystemUserName();
if (!("y".equalsIgnoreCase(getConsoleReadLineWithFormat(currentUser)))) {
System.out.println("Aborting command.");
diff --git
a/hadoop-ozone/tools/src/test/java/org/apache/hadoop/ozone/repair/TestOzoneRepair.java
b/hadoop-ozone/tools/src/test/java/org/apache/hadoop/ozone/repair/TestOzoneRepair.java
index 272bf24c06..bf6a9ed00a 100644
---
a/hadoop-ozone/tools/src/test/java/org/apache/hadoop/ozone/repair/TestOzoneRepair.java
+++
b/hadoop-ozone/tools/src/test/java/org/apache/hadoop/ozone/repair/TestOzoneRepair.java
@@ -67,7 +67,7 @@ public class TestOzoneRepair {
OzoneRepair ozoneRepair = new OzoneRepair();
System.setIn(new ByteArrayInputStream("N".getBytes(DEFAULT_ENCODING)));
- int res = ozoneRepair.execute(new String[]{});
+ int res = ozoneRepair.execute(new String[]{"om", "fso-tree"});
assertEquals(1, res);
assertThat(out.toString(DEFAULT_ENCODING)).contains("Aborting command.");
// prompt should contain the current user name as well
@@ -79,10 +79,31 @@ public class TestOzoneRepair {
OzoneRepair ozoneRepair = new OzoneRepair();
System.setIn(new ByteArrayInputStream("y".getBytes(DEFAULT_ENCODING)));
- ozoneRepair.execute(new String[]{});
+ ozoneRepair.execute(new String[]{"om", "fso-tree"});
assertThat(out.toString(DEFAULT_ENCODING)).contains("Run as user: " +
OZONE_USER);
// prompt should contain the current user name as well
assertThat(err.toString(DEFAULT_ENCODING)).contains("ATTENTION: Running as
user " + OZONE_USER);
}
+ @Test
+ void testOzoneRepairSkipsPromptWhenNoSubcommandProvided() throws Exception {
+ OzoneRepair ozoneRepair = new OzoneRepair();
+
+ // when no argument is passed, prompt should not be displayed
+ ozoneRepair.execute(new String[]{});
+ assertThat(err.toString(DEFAULT_ENCODING)).doesNotContain("ATTENTION:
Running as user " + OZONE_USER);
+ }
+
+ @Test
+ void testOzoneRepairSkipsPromptWhenHelpFlagProvided() throws Exception {
+ OzoneRepair ozoneRepair = new OzoneRepair();
+
+ // when --help or -h flag is passed, prompt should not be displayed
+ ozoneRepair.execute(new String[]{"--help"});
+ assertThat(err.toString(DEFAULT_ENCODING)).doesNotContain("ATTENTION:
Running as user " + OZONE_USER);
+
+ ozoneRepair.execute(new String[]{"-h"});
+ assertThat(err.toString(DEFAULT_ENCODING)).doesNotContain("ATTENTION:
Running as user " + OZONE_USER);
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]