HBASE-10594 Speed up TestRestoreSnapshotFromClient.
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1574602 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c1c9f1ff05
commit
04ee3b2f25
|
@ -124,13 +124,6 @@ public class TestRestoreSnapshotFromClient {
|
||||||
admin.enableTable(tableName);
|
admin.enableTable(tableName);
|
||||||
SnapshotTestingUtils.loadData(TEST_UTIL, table, 500, FAMILY);
|
SnapshotTestingUtils.loadData(TEST_UTIL, table, 500, FAMILY);
|
||||||
snapshot1Rows = TEST_UTIL.countRows(table);
|
snapshot1Rows = TEST_UTIL.countRows(table);
|
||||||
admin.disableTable(tableName);
|
|
||||||
|
|
||||||
// take a snapshot of the updated table
|
|
||||||
admin.snapshot(snapshotName1, tableName);
|
|
||||||
|
|
||||||
// re-enable table
|
|
||||||
admin.enableTable(tableName);
|
|
||||||
table.close();
|
table.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -144,9 +137,9 @@ public class TestRestoreSnapshotFromClient {
|
||||||
@Test
|
@Test
|
||||||
public void testRestoreSnapshot() throws IOException {
|
public void testRestoreSnapshot() throws IOException {
|
||||||
SnapshotTestingUtils.verifyRowCount(TEST_UTIL, tableName, snapshot1Rows);
|
SnapshotTestingUtils.verifyRowCount(TEST_UTIL, tableName, snapshot1Rows);
|
||||||
|
|
||||||
// Restore from snapshot-0
|
|
||||||
admin.disableTable(tableName);
|
admin.disableTable(tableName);
|
||||||
|
admin.snapshot(snapshotName1, tableName);
|
||||||
|
// Restore from snapshot-0
|
||||||
admin.restoreSnapshot(snapshotName0);
|
admin.restoreSnapshot(snapshotName0);
|
||||||
admin.enableTable(tableName);
|
admin.enableTable(tableName);
|
||||||
SnapshotTestingUtils.verifyRowCount(TEST_UTIL, tableName, snapshot0Rows);
|
SnapshotTestingUtils.verifyRowCount(TEST_UTIL, tableName, snapshot0Rows);
|
||||||
|
|
|
@ -73,6 +73,7 @@ import com.google.protobuf.ServiceException;
|
||||||
public class SnapshotTestingUtils {
|
public class SnapshotTestingUtils {
|
||||||
|
|
||||||
private static final Log LOG = LogFactory.getLog(SnapshotTestingUtils.class);
|
private static final Log LOG = LogFactory.getLog(SnapshotTestingUtils.class);
|
||||||
|
private static byte[] KEYS = Bytes.toBytes("0123456789");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Assert that we don't have any snapshots lists
|
* Assert that we don't have any snapshots lists
|
||||||
|
@ -455,14 +456,13 @@ public class SnapshotTestingUtils {
|
||||||
HColumnDescriptor hcd = new HColumnDescriptor(family);
|
HColumnDescriptor hcd = new HColumnDescriptor(family);
|
||||||
htd.addFamily(hcd);
|
htd.addFamily(hcd);
|
||||||
}
|
}
|
||||||
byte[][] splitKeys = new byte[14][];
|
byte[][] splitKeys = new byte[KEYS.length-2][];
|
||||||
byte[] hex = Bytes.toBytes("123456789abcde");
|
|
||||||
for (int i = 0; i < splitKeys.length; ++i) {
|
for (int i = 0; i < splitKeys.length; ++i) {
|
||||||
splitKeys[i] = new byte[] { hex[i] };
|
splitKeys[i] = new byte[] { KEYS[i+1] };
|
||||||
}
|
}
|
||||||
util.getHBaseAdmin().createTable(htd, splitKeys);
|
util.getHBaseAdmin().createTable(htd, splitKeys);
|
||||||
waitForTableToBeOnline(util, tableName);
|
waitForTableToBeOnline(util, tableName);
|
||||||
assertEquals(15, util.getHBaseAdmin().getTableRegions(tableName).size());
|
assertEquals(KEYS.length-1, util.getHBaseAdmin().getTableRegions(tableName).size());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void loadData(final HBaseTestingUtility util, final TableName tableName, int rows,
|
public static void loadData(final HBaseTestingUtility util, final TableName tableName, int rows,
|
||||||
|
@ -475,8 +475,8 @@ public class SnapshotTestingUtils {
|
||||||
table.setAutoFlush(false, true);
|
table.setAutoFlush(false, true);
|
||||||
|
|
||||||
// Ensure one row per region
|
// Ensure one row per region
|
||||||
assertTrue(rows >= 16);
|
assertTrue(rows >= KEYS.length);
|
||||||
for (byte k0: Bytes.toBytes("0123456789abcdef")) {
|
for (byte k0: KEYS) {
|
||||||
byte[] k = new byte[] { k0 };
|
byte[] k = new byte[] { k0 };
|
||||||
byte[] value = Bytes.add(Bytes.toBytes(System.currentTimeMillis()), k);
|
byte[] value = Bytes.add(Bytes.toBytes(System.currentTimeMillis()), k);
|
||||||
byte[] key = Bytes.add(k, Bytes.toBytes(MD5Hash.getMD5AsHex(value)));
|
byte[] key = Bytes.add(k, Bytes.toBytes(MD5Hash.getMD5AsHex(value)));
|
||||||
|
|
Loading…
Reference in New Issue