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:
larsh 2014-03-05 18:21:37 +00:00
parent c1c9f1ff05
commit 04ee3b2f25
2 changed files with 8 additions and 15 deletions

View File

@ -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);

View File

@ -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)));