private void waitRegionsAfterMerge(final long numRegionsAfterMerge) throws IOException, InterruptedException { // Verify that there's one region less long startTime = System.currentTimeMillis(); while (admin.getTableRegions(TABLE_NAME).size() != numRegionsAfterMerge) { // This may be flaky... if after 15sec the merge is not complete give up // it will fail in the assertEquals(numRegionsAfterMerge). if ((System.currentTimeMillis() - startTime) > 15000) break; Thread.sleep(100); } SnapshotTestingUtils.waitForTableToBeOnline(UTIL, TABLE_NAME); }
public static void loadData(final HBaseTestingUtility util, final BufferedMutator mutator, int rows, byte[]... families) throws IOException, InterruptedException { // Ensure one row per region assertTrue(rows >= KEYS.length); for (byte k0: KEYS) { byte[] k = new byte[] { k0 }; byte[] value = Bytes.add(Bytes.toBytes(System.currentTimeMillis()), k); byte[] key = Bytes.add(k, Bytes.toBytes(MD5Hash.getMD5AsHex(value))); final byte[][] families1 = families; final byte[] key1 = key; final byte[] value1 = value; mutator.mutate(createPut(families1, key1, value1)); rows--; } // Add other extra rows. more rows, more files while (rows-- > 0) { byte[] value = Bytes.add(Bytes.toBytes(System.currentTimeMillis()), Bytes.toBytes(rows)); byte[] key = Bytes.toBytes(MD5Hash.getMD5AsHex(value)); final byte[][] families1 = families; final byte[] key1 = key; final byte[] value1 = value; mutator.mutate(createPut(families1, key1, value1)); } mutator.flush(); waitForTableToBeOnline(util, mutator.getName()); }
TableName.valueOf(getValidMethodName() + "-" + System.currentTimeMillis()); admin.cloneSnapshot(snapshotName2, clonedTableName); SnapshotTestingUtils.waitForTableToBeOnline(TEST_UTIL, clonedTableName);
SnapshotTestingUtils.waitForTableToBeOnline(UTIL, cloneBeforeMergeName); SnapshotTestingUtils.waitForTableToBeOnline(UTIL, cloneAfterMergeName);
SnapshotTestingUtils.waitForTableToBeOnline(UTIL, cloneName);
public static void createMobTable(HBaseTestingUtility util, TableName tableName, byte[][] splitKeys, int regionReplication, String cpClassName, byte[]... families) throws IOException, InterruptedException { TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(tableName).setRegionReplication(regionReplication); for (byte[] family : families) { builder.setColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(family).setMobEnabled(true) .setMobThreshold(0L).build()); } if (!StringUtils.isBlank(cpClassName)) { builder.setCoprocessor(cpClassName); } util.getAdmin().createTable(builder.build(), splitKeys); SnapshotTestingUtils.waitForTableToBeOnline(util, tableName); assertEquals((splitKeys.length + 1) * regionReplication, util.getAdmin().getRegions(tableName).size()); }
SnapshotTestingUtils.waitForTableToBeOnline(BaseTest.getUtility(), indexTable); assertTrue("Index table should be online ", admin.isTableAvailable(indexTable));
private void waitRegionsAfterMerge(final long numRegionsAfterMerge) throws IOException, InterruptedException { // Verify that there's one region less long startTime = System.currentTimeMillis(); while (admin.getTableRegions(TABLE_NAME).size() != numRegionsAfterMerge) { // This may be flaky... if after 15sec the merge is not complete give up // it will fail in the assertEquals(numRegionsAfterMerge). if ((System.currentTimeMillis() - startTime) > 15000) break; Thread.sleep(100); } SnapshotTestingUtils.waitForTableToBeOnline(UTIL, TABLE_NAME); }
public static void loadData(final HBaseTestingUtility util, final BufferedMutator mutator, int rows, byte[]... families) throws IOException, InterruptedException { // Ensure one row per region assertTrue(rows >= KEYS.length); for (byte k0: KEYS) { byte[] k = new byte[] { k0 }; byte[] value = Bytes.add(Bytes.toBytes(System.currentTimeMillis()), k); byte[] key = Bytes.add(k, Bytes.toBytes(MD5Hash.getMD5AsHex(value))); final byte[][] families1 = families; final byte[] key1 = key; final byte[] value1 = value; mutator.mutate(createPut(families1, key1, value1)); rows--; } // Add other extra rows. more rows, more files while (rows-- > 0) { byte[] value = Bytes.add(Bytes.toBytes(System.currentTimeMillis()), Bytes.toBytes(rows)); byte[] key = Bytes.toBytes(MD5Hash.getMD5AsHex(value)); final byte[][] families1 = families; final byte[] key1 = key; final byte[] value1 = value; mutator.mutate(createPut(families1, key1, value1)); } mutator.flush(); waitForTableToBeOnline(util, mutator.getName()); }
SnapshotTestingUtils.waitForTableToBeOnline(UTIL, cloneBeforeMergeName); SnapshotTestingUtils.waitForTableToBeOnline(UTIL, cloneAfterMergeName);
SnapshotTestingUtils.waitForTableToBeOnline(UTIL, cloneName);
public static void createMobTable(HBaseTestingUtility util, TableName tableName, byte[][] splitKeys, int regionReplication, String cpClassName, byte[]... families) throws IOException, InterruptedException { TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(tableName).setRegionReplication(regionReplication); for (byte[] family : families) { builder.setColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(family).setMobEnabled(true) .setMobThreshold(0L).build()); } if (!StringUtils.isBlank(cpClassName)) { builder.setCoprocessor(cpClassName); } util.getAdmin().createTable(builder.build(), splitKeys); SnapshotTestingUtils.waitForTableToBeOnline(util, tableName); assertEquals((splitKeys.length + 1) * regionReplication, util.getAdmin().getRegions(tableName).size()); }