HDFS-14259. RBF: Fix safemode message for Router. Contributed by Ranith Sadar.

This commit is contained in:
Inigo Goiri 2019-03-02 17:17:34 -08:00 committed by Brahma Reddy Battula
parent 0f43b36e15
commit 7400a0a6de
2 changed files with 8 additions and 2 deletions

View File

@ -234,7 +234,7 @@ public class NamenodeBeanMetrics
@Override @Override
public String getSafemode() { public String getSafemode() {
try { try {
if (!getRouter().isRouterState(RouterServiceState.SAFEMODE)) { if (getRouter().isRouterState(RouterServiceState.SAFEMODE)) {
return "Safe mode is ON. " + this.getSafeModeTip(); return "Safe mode is ON. " + this.getSafeModeTip();
} }
} catch (IOException e) { } catch (IOException e) {

View File

@ -747,6 +747,9 @@ public class TestRouterAdminCLI {
FederationMetrics metrics = router.getMetrics(); FederationMetrics metrics = router.getMetrics();
String jsonString = metrics.getRouterStatus(); String jsonString = metrics.getRouterStatus();
String result = router.getNamenodeMetrics().getSafemode();
assertTrue("Wrong safe mode message: " + result,
result.startsWith("Safe mode is ON."));
// verify state using FederationMetrics // verify state using FederationMetrics
assertEquals(RouterServiceState.SAFEMODE.toString(), jsonString); assertEquals(RouterServiceState.SAFEMODE.toString(), jsonString);
@ -756,6 +759,9 @@ public class TestRouterAdminCLI {
assertEquals(0, assertEquals(0,
ToolRunner.run(admin, new String[] {"-safemode", "leave" })); ToolRunner.run(admin, new String[] {"-safemode", "leave" }));
jsonString = metrics.getRouterStatus(); jsonString = metrics.getRouterStatus();
result = router.getNamenodeMetrics().getSafemode();
assertEquals("Wrong safe mode message: " + result, "", result);
// verify state // verify state
assertEquals(RouterServiceState.RUNNING.toString(), jsonString); assertEquals(RouterServiceState.RUNNING.toString(), jsonString);
assertFalse(routerContext.getRouter().getSafemodeService().isInSafeMode()); assertFalse(routerContext.getRouter().getSafemodeService().isInSafeMode());
@ -1153,4 +1159,4 @@ public class TestRouterAdminCLI {
argv = new String[] {"-getDestination /file1.txt /file2.txt"}; argv = new String[] {"-getDestination /file1.txt /file2.txt"};
assertEquals(-1, ToolRunner.run(admin, argv)); assertEquals(-1, ToolRunner.run(admin, argv));
} }
} }