HDFS-12683. DFSZKFailOverController re-order logic for logging Exception. Contributed by Bharat Viswanadham.

This commit is contained in:
Arpit Agarwal 2017-10-23 10:47:16 -07:00
parent ef0d6ff2e6
commit a373094bf9
2 changed files with 30 additions and 21 deletions

View File

@ -183,40 +183,45 @@ public abstract class ZKFailoverController {
}
});
} catch (RuntimeException rte) {
LOG.error("The failover controller encounters runtime error: " + rte);
throw (Exception)rte.getCause();
}
}
private int doRun(String[] args)
throws HadoopIllegalArgumentException, IOException, InterruptedException {
throws Exception {
try {
initZK();
} catch (KeeperException ke) {
LOG.error("Unable to start failover controller. Unable to connect "
+ "to ZooKeeper quorum at " + zkQuorum + ". Please check the "
+ "configured value for " + ZK_QUORUM_KEY + " and ensure that "
+ "ZooKeeper is running.");
+ "ZooKeeper is running.", ke);
return ERR_CODE_NO_ZK;
}
if (args.length > 0) {
if ("-formatZK".equals(args[0])) {
boolean force = false;
boolean interactive = true;
for (int i = 1; i < args.length; i++) {
if ("-force".equals(args[i])) {
force = true;
} else if ("-nonInteractive".equals(args[i])) {
interactive = false;
} else {
badArg(args[i]);
try {
if (args.length > 0) {
if ("-formatZK".equals(args[0])) {
boolean force = false;
boolean interactive = true;
for (int i = 1; i < args.length; i++) {
if ("-force".equals(args[i])) {
force = true;
} else if ("-nonInteractive".equals(args[i])) {
interactive = false;
} else {
badArg(args[i]);
}
}
return formatZK(force, interactive);
}
else {
badArg(args[0]);
}
return formatZK(force, interactive);
} else {
badArg(args[0]);
}
} catch (Exception e){
LOG.error("The failover controller encounters runtime error", e);
throw e;
}
if (!elector.parentZNodeExists()) {
@ -235,11 +240,14 @@ public abstract class ZKFailoverController {
return ERR_CODE_NO_FENCER;
}
initRPC();
initHM();
startRPC();
try {
initRPC();
initHM();
startRPC();
mainLoop();
} catch (Exception e) {
LOG.error("The failover controller encounters runtime error: ", e);
throw e;
} finally {
rpcServer.stopAndJoin();

View File

@ -192,7 +192,8 @@ public class DFSZKFailoverController extends ZKFailoverController {
try {
retCode = zkfc.run(parser.getRemainingArgs());
} catch (Throwable t) {
LOG.fatal("Got a fatal error, exiting now", t);
LOG.fatal("DFSZKFailOverController exiting due to earlier exception "
+ t);
}
System.exit(retCode);
}