HDFS-13858. RBF: Add check to have single valid argument to safemode command. Contributed by Ayush Saxena.
(cherry picked from commit 75691ad600
)
This commit is contained in:
parent
41732e7b28
commit
9265d1a61a
|
@ -218,6 +218,10 @@ public class RouterAdmin extends Configured implements Tool {
|
|||
"Successfully clear quota for mount point " + argv[i]);
|
||||
}
|
||||
} else if ("-safemode".equals(cmd)) {
|
||||
if (argv.length > 2) {
|
||||
throw new IllegalArgumentException(
|
||||
"Too many arguments, Max=1 argument allowed only");
|
||||
}
|
||||
manageSafeMode(argv[i]);
|
||||
} else if ("-nameservice".equals(cmd)) {
|
||||
String subcmd = argv[i];
|
||||
|
@ -712,6 +716,8 @@ public class RouterAdmin extends Configured implements Tool {
|
|||
} else if (cmd.equals("get")) {
|
||||
boolean result = getSafeMode();
|
||||
System.out.println("Safe Mode: " + result);
|
||||
} else {
|
||||
throw new IllegalArgumentException("Invalid argument: " + cmd);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -519,6 +519,7 @@ public class TestRouterAdminCLI {
|
|||
assertTrue(routerContext.getRouter().getSafemodeService().isInSafeMode());
|
||||
|
||||
System.setOut(new PrintStream(out));
|
||||
System.setErr(new PrintStream(err));
|
||||
assertEquals(0, ToolRunner.run(admin,
|
||||
new String[] {"-safemode", "get"}));
|
||||
assertTrue(out.toString().contains("true"));
|
||||
|
@ -534,6 +535,19 @@ public class TestRouterAdminCLI {
|
|||
assertEquals(0, ToolRunner.run(admin,
|
||||
new String[] {"-safemode", "get"}));
|
||||
assertTrue(out.toString().contains("false"));
|
||||
|
||||
out.reset();
|
||||
assertEquals(-1, ToolRunner.run(admin,
|
||||
new String[] {"-safemode", "get", "-random", "check" }));
|
||||
assertTrue(err.toString(), err.toString()
|
||||
.contains("safemode: Too many arguments, Max=1 argument allowed only"));
|
||||
err.reset();
|
||||
|
||||
assertEquals(-1,
|
||||
ToolRunner.run(admin, new String[] {"-safemode", "check" }));
|
||||
assertTrue(err.toString(),
|
||||
err.toString().contains("safemode: Invalid argument: check"));
|
||||
err.reset();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
Loading…
Reference in New Issue