diff --git hbase-client/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupCommands.java hbase-client/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupCommands.java index 1884788..93132f4 100644 --- hbase-client/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupCommands.java +++ hbase-client/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupCommands.java @@ -349,7 +349,7 @@ public final class BackupCommands { if (cmdline == null || cmdline.getArgs() == null || cmdline.getArgs().length != 2) { - System.out.println("No backup id was specified, " + System.err.println("No backup id was specified, " + "will retrieve the most recent (ongoing) sessions"); } String[] args = cmdline.getArgs(); @@ -360,7 +360,7 @@ public final class BackupCommands { } - String backupId = args == null ? null : args[1]; + String backupId = (args == null || args.length <= 1) ? null : args[1]; Configuration conf = getConf() != null? getConf(): HBaseConfiguration.create(); try(final Connection conn = ConnectionFactory.createConnection(conf); final BackupAdmin admin = conn.getAdmin().getBackupAdmin();){ diff --git hbase-server/src/test/java/org/apache/hadoop/hbase/backup/TestBackupCommandLineTool.java hbase-server/src/test/java/org/apache/hadoop/hbase/backup/TestBackupCommandLineTool.java index 8330ecb..44104bc 100644 --- hbase-server/src/test/java/org/apache/hadoop/hbase/backup/TestBackupCommandLineTool.java +++ hbase-server/src/test/java/org/apache/hadoop/hbase/backup/TestBackupCommandLineTool.java @@ -56,7 +56,16 @@ public class TestBackupCommandLineTool { output = baos.toString(); System.out.println(baos.toString()); - assertTrue(output.indexOf("Usage: hbase backup decsribe ") >= 0); + assertTrue(output.indexOf("Usage: hbase backup decsribe ") >= 0); + + baos = new ByteArrayOutputStream(); + System.setErr(new PrintStream(baos)); + args = new String[]{"describe" }; + ToolRunner.run(conf, new BackupDriver(), args); + + output = baos.toString(); + System.out.println(baos.toString()); + assertTrue(output.indexOf("Usage: hbase backup decsribe ") >= 0); } @Test @@ -78,6 +87,15 @@ public class TestBackupCommandLineTool { output = baos.toString(); System.out.println(baos.toString()); assertTrue(output.indexOf("Usage: hbase backup create") >= 0); + + baos = new ByteArrayOutputStream(); + System.setErr(new PrintStream(baos)); + args = new String[]{"create"}; + ToolRunner.run(conf, new BackupDriver(), args); + + output = baos.toString(); + System.out.println(baos.toString()); + assertTrue(output.indexOf("Usage: hbase backup create") >= 0); } @Test @@ -99,6 +117,7 @@ public class TestBackupCommandLineTool { output = baos.toString(); System.out.println(baos.toString()); assertTrue(output.indexOf("Usage: hbase backup history") >= 0); + } @Test @@ -120,6 +139,15 @@ public class TestBackupCommandLineTool { output = baos.toString(); System.out.println(baos.toString()); assertTrue(output.indexOf("Usage: hbase backup delete") >= 0); + + baos = new ByteArrayOutputStream(); + System.setErr(new PrintStream(baos)); + args = new String[]{"delete" }; + ToolRunner.run(conf, new BackupDriver(), args); + + output = baos.toString(); + System.out.println(baos.toString()); + assertTrue(output.indexOf("Usage: hbase backup delete") >= 0); } @Test @@ -141,6 +169,7 @@ public class TestBackupCommandLineTool { output = baos.toString(); System.out.println(baos.toString()); assertTrue(output.indexOf("Usage: hbase backup progress") >= 0); + } @Test @@ -162,6 +191,16 @@ public class TestBackupCommandLineTool { output = baos.toString(); System.out.println(baos.toString()); assertTrue(output.indexOf("Usage: hbase backup set") >= 0); + + baos = new ByteArrayOutputStream(); + System.setErr(new PrintStream(baos)); + args = new String[]{"set"}; + ToolRunner.run(conf, new BackupDriver(), args); + + output = baos.toString(); + System.out.println(baos.toString()); + assertTrue(output.indexOf("Usage: hbase backup set") >= 0); + } @Test