HDFS-10540. Diskbalancer: The CLI error message for disk balancer is not enabled is not clear. Contributed by Anu Engineer.
This commit is contained in:
parent
3225c24e0e
commit
cb68e5b3bd
@ -256,6 +256,8 @@ public String getVolumeNames() throws DiskBalancerException {
|
||||
}
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
return mapper.writeValueAsString(pathMap);
|
||||
} catch (DiskBalancerException ex) {
|
||||
throw ex;
|
||||
} catch (IOException e) {
|
||||
throw new DiskBalancerException("Internal error, Unable to " +
|
||||
"create JSON string.", e,
|
||||
|
@ -171,7 +171,7 @@ protected void setOutputPath(String path) throws IOException {
|
||||
diskBalancerLogs = new Path(path);
|
||||
}
|
||||
if (fs.exists(diskBalancerLogs)) {
|
||||
LOG.error("Another Diskbalancer instance is running ? - Target " +
|
||||
LOG.debug("Another Diskbalancer instance is running ? - Target " +
|
||||
"Directory already exists. {}", diskBalancerLogs);
|
||||
throw new IOException("Another DiskBalancer files already exist at the " +
|
||||
"target location. " + diskBalancerLogs.toString());
|
||||
|
@ -36,9 +36,7 @@
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.PrintStream;
|
||||
import java.net.URISyntaxException;
|
||||
|
||||
/**
|
||||
* DiskBalancer is a tool that can be used to ensure that data is spread evenly
|
||||
@ -169,7 +167,7 @@ public static void main(String[] argv) throws Exception {
|
||||
res = ToolRunner.run(shell, argv);
|
||||
} catch (Exception ex) {
|
||||
LOG.error(ex.toString());
|
||||
System.exit(1);
|
||||
res = 1;
|
||||
}
|
||||
System.exit(res);
|
||||
}
|
||||
@ -449,51 +447,41 @@ private CommandLine parseArgs(String[] argv, Options opts)
|
||||
* @param cmd - CommandLine
|
||||
* @param opts options of command line
|
||||
* @param out the output stream used for printing
|
||||
* @throws IOException
|
||||
* @throws URISyntaxException
|
||||
*/
|
||||
private int dispatch(CommandLine cmd, Options opts, final PrintStream out)
|
||||
throws IOException, URISyntaxException {
|
||||
throws Exception {
|
||||
Command currentCommand = null;
|
||||
if (cmd.hasOption(DiskBalancer.PLAN)) {
|
||||
currentCommand = new PlanCommand(getConf());
|
||||
}
|
||||
|
||||
try {
|
||||
if (cmd.hasOption(DiskBalancer.EXECUTE)) {
|
||||
currentCommand = new ExecuteCommand(getConf());
|
||||
}
|
||||
|
||||
if (cmd.hasOption(DiskBalancer.PLAN)) {
|
||||
currentCommand = new PlanCommand(getConf());
|
||||
}
|
||||
if (cmd.hasOption(DiskBalancer.QUERY)) {
|
||||
currentCommand = new QueryCommand(getConf());
|
||||
}
|
||||
|
||||
if (cmd.hasOption(DiskBalancer.EXECUTE)) {
|
||||
currentCommand = new ExecuteCommand(getConf());
|
||||
}
|
||||
if (cmd.hasOption(DiskBalancer.CANCEL)) {
|
||||
currentCommand = new CancelCommand(getConf());
|
||||
}
|
||||
|
||||
if (cmd.hasOption(DiskBalancer.QUERY)) {
|
||||
currentCommand = new QueryCommand(getConf());
|
||||
}
|
||||
if (cmd.hasOption(DiskBalancer.REPORT)) {
|
||||
currentCommand = new ReportCommand(getConf(), out);
|
||||
}
|
||||
|
||||
if (cmd.hasOption(DiskBalancer.CANCEL)) {
|
||||
currentCommand = new CancelCommand(getConf());
|
||||
}
|
||||
if (cmd.hasOption(DiskBalancer.HELP)) {
|
||||
currentCommand = new HelpCommand(getConf());
|
||||
}
|
||||
|
||||
if (cmd.hasOption(DiskBalancer.REPORT)) {
|
||||
currentCommand = new ReportCommand(getConf(), out);
|
||||
}
|
||||
|
||||
if (cmd.hasOption(DiskBalancer.HELP)) {
|
||||
currentCommand = new HelpCommand(getConf());
|
||||
}
|
||||
|
||||
// Invoke Main help here.
|
||||
if (currentCommand == null) {
|
||||
new HelpCommand(getConf()).execute(null);
|
||||
return 1;
|
||||
}
|
||||
|
||||
currentCommand.execute(cmd);
|
||||
} catch (Exception ex) {
|
||||
System.err.printf(ex.getMessage());
|
||||
// Invoke main help here.
|
||||
if (currentCommand == null) {
|
||||
new HelpCommand(getConf()).execute(null);
|
||||
return 1;
|
||||
}
|
||||
|
||||
currentCommand.execute(cmd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user