HBASE-13764 Backport HBASE-7782 (HBaseTestingUtility.truncateTable() not acting like CLI) to branch-1.x
Signed-off-by: Srikanth Srungarapu <ssrungarapu@cloudera.com>
This commit is contained in:
parent
ccb5fc3958
commit
83d5f31649
@ -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);
|
||||
@ -1970,6 +1972,58 @@ public class HBaseTestingUtility extends HBaseCommonTestingUtility {
|
||||
return table;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
|
@ -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);
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user