You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ss...@apache.org on 2015/06/03 00:18:21 UTC

hbase git commit: HBASE-13764 Backport HBASE-7782 (HBaseTestingUtility.truncateTable() not acting like CLI) to branch-1.x

Repository: hbase
Updated Branches:
  refs/heads/branch-1 ccb5fc395 -> 83d5f3164


HBASE-13764 Backport HBASE-7782 (HBaseTestingUtility.truncateTable() not acting like CLI) to branch-1.x

Signed-off-by: Srikanth Srungarapu <ss...@cloudera.com>


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

Branch: refs/heads/branch-1
Commit: 83d5f31649d36ce4ae100bde3bdd1628631ac135
Parents: ccb5fc3
Author: Ashish Singhi <as...@huawei.com>
Authored: Wed May 27 15:30:00 2015 +0530
Committer: Srikanth Srungarapu <ss...@cloudera.com>
Committed: Tue Jun 2 15:14:15 2015 -0700

----------------------------------------------------------------------
 .../hadoop/hbase/HBaseTestingUtility.java       | 64 ++++++++++++++++++--
 .../hadoop/hbase/mapreduce/TestRowCounter.java  |  2 +-
 ...estReplicationChangingPeerRegionservers.java |  4 +-
 .../replication/TestReplicationSmallTests.java  |  4 +-
 .../regionserver/TestReplicationSink.java       |  4 +-
 5 files changed, 66 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/83d5f316/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
index ef9db2b..66bddbb 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
@@ -1942,22 +1942,24 @@ public class HBaseTestingUtility extends HBaseCommonTestingUtility {
   // ==========================================================================
 
   /**
-   * Provide an existing table name to truncate
+   * Provide an existing table name to truncate.
+   * Scans the table and issues a delete for each row read.
    * @param tableName existing table
    * @return HTable to that new table
    * @throws IOException
    */
-  public HTable truncateTable(byte[] tableName) throws IOException {
-    return truncateTable(TableName.valueOf(tableName));
+  public HTable deleteTableData(byte[] tableName) throws IOException {
+    return deleteTableData(TableName.valueOf(tableName));
   }
 
   /**
-   * Provide an existing table name to truncate
+   * Provide an existing table name to truncate.
+   * Scans the table and issues a delete for each row read.
    * @param tableName existing table
    * @return HTable to that new table
    * @throws IOException
    */
-  public HTable truncateTable(TableName tableName) throws IOException {
+  public HTable deleteTableData(TableName tableName) throws IOException {
     HTable table = new HTable(getConfiguration(), tableName);
     Scan scan = new Scan();
     ResultScanner resScan = table.getScanner(scan);
@@ -1971,6 +1973,58 @@ public class HBaseTestingUtility extends HBaseCommonTestingUtility {
   }
 
   /**
+   * Truncate a table using the admin command.
+   * Effectively disables, deletes, and recreates the table.
+   * @param tableName table which must exist.
+   * @param preserveRegions keep the existing split points
+   * @return HTable for the new table
+   */
+  public HTable truncateTable(final TableName tableName, final boolean preserveRegions)
+      throws IOException {
+    Admin admin = getHBaseAdmin();
+    admin.truncateTable(tableName, preserveRegions);
+    return new HTable(getConfiguration(), tableName);
+  }
+
+  /**
+   * Truncate a table using the admin command.
+   * Effectively disables, deletes, and recreates the table.
+   * For previous behavior of issuing row deletes, see
+   * deleteTableData.
+   * Expressly does not preserve regions of existing table.
+   * @param tableName table which must exist.
+   * @return HTable for the new table
+   */
+  public HTable truncateTable(final TableName tableName) throws IOException {
+    return truncateTable(tableName, false);
+  }
+
+  /**
+   * Truncate a table using the admin command.
+   * Effectively disables, deletes, and recreates the table.
+   * @param tableName table which must exist.
+   * @param preserveRegions keep the existing split points
+   * @return HTable for the new table
+   */
+  public HTable truncateTable(final byte[] tableName, final boolean preserveRegions)
+      throws IOException {
+    return truncateTable(TableName.valueOf(tableName), preserveRegions);
+  }
+
+  /**
+   * Truncate a table using the admin command.
+   * Effectively disables, deletes, and recreates the table.
+   * For previous behavior of issuing row deletes, see
+   * deleteTableData.
+   * Expressly does not preserve regions of existing table.
+   * @param tableName table which must exist.
+   * @return HTable for the new table
+   */
+  public HTable truncateTable(final byte[] tableName) throws IOException {
+    return truncateTable(tableName, false);
+  }
+
+  /**
    * Load table with rows from 'aaa' to 'zzz'.
    * @param t Table
    * @param f Family

http://git-wip-us.apache.org/repos/asf/hbase/blob/83d5f316/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestRowCounter.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestRowCounter.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestRowCounter.java
index cf780ba..361941d 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestRowCounter.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestRowCounter.java
@@ -160,7 +160,7 @@ public class TestRowCounter {
     long ts;
 
     // clean up content of TABLE_NAME
-    HTable table = TEST_UTIL.truncateTable(TableName.valueOf(TABLE_NAME));
+    HTable table = TEST_UTIL.deleteTableData(TableName.valueOf(TABLE_NAME));
     ts = System.currentTimeMillis();
     put1.add(family, col1, ts, Bytes.toBytes("val1"));
     table.put(put1);

http://git-wip-us.apache.org/repos/asf/hbase/blob/83d5f316/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationChangingPeerRegionservers.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationChangingPeerRegionservers.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationChangingPeerRegionservers.java
index d858321..5397c6c 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationChangingPeerRegionservers.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationChangingPeerRegionservers.java
@@ -58,9 +58,9 @@ public class TestReplicationChangingPeerRegionservers extends TestReplicationBas
                           utility1.getHBaseCluster().getRegionServerThreads()) {
       utility1.getHBaseAdmin().rollWALWriter(r.getRegionServer().getServerName());
     }
-    utility1.truncateTable(tableName);
+    utility1.deleteTableData(tableName);
     // truncating the table will send one Delete per row to the slave cluster
-    // in an async fashion, which is why we cannot just call truncateTable on
+    // in an async fashion, which is why we cannot just call deleteTableData on
     // utility2 since late writes could make it to the slave in some way.
     // Instead, we truncate the first table and wait for all the Deletes to
     // make it to the slave.

http://git-wip-us.apache.org/repos/asf/hbase/blob/83d5f316/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationSmallTests.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationSmallTests.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationSmallTests.java
index d8d735f..06f78e3 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationSmallTests.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationSmallTests.java
@@ -79,9 +79,9 @@ public class TestReplicationSmallTests extends TestReplicationBase {
         utility1.getHBaseCluster().getRegionServerThreads()) {
       utility1.getHBaseAdmin().rollWALWriter(r.getRegionServer().getServerName());
     }
-    utility1.truncateTable(tableName);
+    utility1.deleteTableData(tableName);
     // truncating the table will send one Delete per row to the slave cluster
-    // in an async fashion, which is why we cannot just call truncateTable on
+    // in an async fashion, which is why we cannot just call deleteTableData on
     // utility2 since late writes could make it to the slave in some way.
     // Instead, we truncate the first table and wait for all the Deletes to
     // make it to the slave.

http://git-wip-us.apache.org/repos/asf/hbase/blob/83d5f316/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java
index 7efb4e3..db58ccb 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java
@@ -118,8 +118,8 @@ public class TestReplicationSink {
    */
   @Before
   public void setUp() throws Exception {
-    table1 = TEST_UTIL.truncateTable(TABLE_NAME1);
-    table2 = TEST_UTIL.truncateTable(TABLE_NAME2);
+    table1 = TEST_UTIL.deleteTableData(TABLE_NAME1);
+    table2 = TEST_UTIL.deleteTableData(TABLE_NAME2);
   }
 
   /**