You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2016/09/20 01:00:18 UTC

hbase git commit: HBASE-16655 hbase backup describe with incorrect backup id results in NPE - addendum allows progress command to retrieve on-going backup session

Repository: hbase
Updated Branches:
  refs/heads/HBASE-7912 d0d1485f2 -> 7dab75096


HBASE-16655 hbase backup describe with incorrect backup id results in NPE - addendum allows progress command to retrieve on-going backup session


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/7dab7509
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/7dab7509
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/7dab7509

Branch: refs/heads/HBASE-7912
Commit: 7dab75096f8549b0d59338a07bffae7e594bd758
Parents: d0d1485
Author: tedyu <yu...@gmail.com>
Authored: Mon Sep 19 18:00:12 2016 -0700
Committer: tedyu <yu...@gmail.com>
Committed: Mon Sep 19 18:00:12 2016 -0700

----------------------------------------------------------------------
 .../apache/hadoop/hbase/backup/impl/BackupCommands.java   |  9 +++++----
 .../hadoop/hbase/backup/TestBackupCommandLineTool.java    |  9 ---------
 .../apache/hadoop/hbase/backup/TestBackupDescribe.java    | 10 ++++++++++
 3 files changed, 15 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/7dab7509/hbase-client/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupCommands.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupCommands.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupCommands.java
index 3d40da2..6d93a7c 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupCommands.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupCommands.java
@@ -78,6 +78,7 @@ public final class BackupCommands {
 
   public static final String PROGRESS_CMD_USAGE = "Usage: hbase backup progress <backupId>\n"
           + " backupId        backup image id\n";
+  public static final String NO_INFO_FOUND = "No info was found for backup id: ";
 
   public static final String DESCRIBE_CMD_USAGE = "Usage: hbase backup decsribe <backupId>\n"
           + " backupId        backup image id\n";
@@ -353,24 +354,24 @@ public final class BackupCommands {
       super.execute();
       
       if (cmdline == null || cmdline.getArgs() == null ||
-          cmdline.getArgs().length != 2) {
+          cmdline.getArgs().length == 1) {
         System.err.println("No backup id was specified, "
             + "will retrieve the most recent (ongoing) sessions");
       }
       String[] args = cmdline.getArgs();
-      if (args.length != 2) {
+      if (args.length > 2) {
         System.err.println("ERROR: wrong number of arguments: " + args.length);
         printUsage();
         throw new IOException(INCORRECT_USAGE);
       }
 
-      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();){
         int progress = admin.getProgress(backupId);
         if(progress < 0){
-          System.out.println("No info was found for backup id: "+backupId);
+          System.err.println(NO_INFO_FOUND + backupId);
         } else{
           System.out.println(backupId+" progress=" + progress+"%");
         }

http://git-wip-us.apache.org/repos/asf/hbase/blob/7dab7509/hbase-server/src/test/java/org/apache/hadoop/hbase/backup/TestBackupCommandLineTool.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/backup/TestBackupCommandLineTool.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/backup/TestBackupCommandLineTool.java
index 31a859d..1e267d2 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/backup/TestBackupCommandLineTool.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/backup/TestBackupCommandLineTool.java
@@ -169,15 +169,6 @@ public class TestBackupCommandLineTool {
     output = baos.toString();
     System.out.println(baos.toString());
     assertTrue(output.indexOf("Usage: hbase backup progress") >= 0);
-
-    baos = new ByteArrayOutputStream();
-    System.setErr(new PrintStream(baos));
-    args = new String[]{"progress" };
-    ToolRunner.run(conf, new BackupDriver(), args);
-
-    output = baos.toString();
-    System.out.println(baos.toString());
-    assertTrue(output.indexOf("Usage: hbase backup progress") >= 0);
   }
 
   @Test

http://git-wip-us.apache.org/repos/asf/hbase/blob/7dab7509/hbase-server/src/test/java/org/apache/hadoop/hbase/backup/TestBackupDescribe.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/backup/TestBackupDescribe.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/backup/TestBackupDescribe.java
index 8d8e0d3..0a2f2e1 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/backup/TestBackupDescribe.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/backup/TestBackupDescribe.java
@@ -29,6 +29,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.backup.BackupInfo.BackupState;
+import org.apache.hadoop.hbase.backup.impl.BackupCommands;
 import org.apache.hadoop.hbase.backup.impl.BackupSystemTable;
 import org.apache.hadoop.hbase.testclassification.LargeTests;
 import org.apache.hadoop.util.ToolRunner;
@@ -54,6 +55,15 @@ public class TestBackupDescribe extends TestBackupBase {
     String[] args = new String[]{"describe",  "backup_2" }; 
     int ret = ToolRunner.run(conf1, new BackupDriver(), args);
     assertTrue(ret < 0);
+
+    ByteArrayOutputStream baos = new ByteArrayOutputStream();
+    System.setErr(new PrintStream(baos));
+    args = new String[]{"progress" };
+    ToolRunner.run(TEST_UTIL.getConfiguration(), new BackupDriver(), args);
+
+    String output = baos.toString();
+    LOG.info("Output from progress: " + output);
+    assertTrue(output.indexOf(BackupCommands.NO_INFO_FOUND) >= 0);
   }
 
   @Test