当前位置: 首页>>代码示例>>Java>>正文


Java SnapshotTestingUtils类代码示例

本文整理汇总了Java中org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils的典型用法代码示例。如果您正苦于以下问题:Java SnapshotTestingUtils类的具体用法?Java SnapshotTestingUtils怎么用?Java SnapshotTestingUtils使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


SnapshotTestingUtils类属于org.apache.hadoop.hbase.snapshot包,在下文中一共展示了SnapshotTestingUtils类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testDescribeMatchesAfterClone

import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; //导入依赖的package包/类
/**
 * Verify that the describe for a cloned table matches the describe from the original.
 */
@Test (timeout=300000)
public void testDescribeMatchesAfterClone() throws Exception {
  // Clone the original table
  final String clonedTableNameAsString = "clone" + originalTableName;
  final TableName clonedTableName = TableName.valueOf(clonedTableNameAsString);
  final String snapshotNameAsString = "snapshot" + originalTableName
      + System.currentTimeMillis();
  final byte[] snapshotName = Bytes.toBytes(snapshotNameAsString);

  // restore the snapshot into a cloned table and examine the output
  List<byte[]> familiesList = new ArrayList<byte[]>();
  Collections.addAll(familiesList, families);

  // Create a snapshot in which all families are empty
  SnapshotTestingUtils.createSnapshotAndValidate(admin, originalTableName, null,
    familiesList, snapshotNameAsString, rootDir, fs, /* onlineSnapshot= */ false);

  admin.cloneSnapshot(snapshotName, clonedTableName);
  Table clonedTable = new HTable(UTIL.getConfiguration(), clonedTableName);
  HTableDescriptor cloneHtd = admin.getTableDescriptor(clonedTableName);
  assertEquals(
    originalTableDescription.replace(originalTableName.getNameAsString(),clonedTableNameAsString),
    cloneHtd.toStringCustomizedValues());

  // Verify the custom fields
  assertEquals(originalTableDescriptor.getValues().size(),
                      cloneHtd.getValues().size());
  assertEquals(originalTableDescriptor.getConfiguration().size(),
                      cloneHtd.getConfiguration().size());
  assertEquals(cloneHtd.getValue(TEST_CUSTOM_VALUE), TEST_CUSTOM_VALUE);
  assertEquals(cloneHtd.getConfigurationValue(TEST_CONF_CUSTOM_VALUE), TEST_CONF_CUSTOM_VALUE);
  assertEquals(originalTableDescriptor.getValues(), cloneHtd.getValues());
  assertEquals(originalTableDescriptor.getConfiguration(), cloneHtd.getConfiguration());

  admin.enableTable(originalTableName);
  clonedTable.close();
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:41,代码来源:TestSnapshotMetadata.java

示例2: testCloneSnapshotOfCloned

import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; //导入依赖的package包/类
@Test
public void testCloneSnapshotOfCloned() throws IOException, InterruptedException {
  TableName clonedTableName =
      TableName.valueOf("clonedtb-" + System.currentTimeMillis());
  admin.cloneSnapshot(snapshotName0, clonedTableName);
  SnapshotTestingUtils.verifyRowCount(TEST_UTIL, clonedTableName, snapshot0Rows);
  SnapshotTestingUtils.verifyReplicasCameOnline(clonedTableName, admin, getNumReplicas());
  admin.disableTable(clonedTableName);
  admin.snapshot(snapshotName2, clonedTableName);
  TEST_UTIL.deleteTable(clonedTableName);
  waitCleanerRun();

  admin.cloneSnapshot(snapshotName2, clonedTableName);
  SnapshotTestingUtils.verifyRowCount(TEST_UTIL, clonedTableName, snapshot0Rows);
  SnapshotTestingUtils.verifyReplicasCameOnline(clonedTableName, admin, getNumReplicas());
  TEST_UTIL.deleteTable(clonedTableName);
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:18,代码来源:TestRestoreSnapshotFromClient.java

示例3: testCloneAndRestoreSnapshot

import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; //导入依赖的package包/类
@Test
public void testCloneAndRestoreSnapshot() throws IOException, InterruptedException {
  TEST_UTIL.deleteTable(tableName);
  waitCleanerRun();

  admin.cloneSnapshot(snapshotName0, tableName);
  SnapshotTestingUtils.verifyRowCount(TEST_UTIL, tableName, snapshot0Rows);
  SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, getNumReplicas());
  waitCleanerRun();

  admin.disableTable(tableName);
  admin.restoreSnapshot(snapshotName0);
  admin.enableTable(tableName);
  SnapshotTestingUtils.verifyRowCount(TEST_UTIL, tableName, snapshot0Rows);
  SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, getNumReplicas());
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:17,代码来源:TestRestoreSnapshotFromClient.java

示例4: testRestoreSnapshot

import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; //导入依赖的package包/类
@Test
public void testRestoreSnapshot() throws IOException {
  SnapshotTestingUtils.verifyRowCount(TEST_UTIL, tableName, snapshot1Rows);

  // Restore from snapshot-0
  admin.disableTable(tableName);
  admin.restoreSnapshot(snapshotName0);
  admin.enableTable(tableName);
  SnapshotTestingUtils.verifyRowCount(TEST_UTIL, tableName, snapshot0Rows);

  // Restore from emptySnapshot
  admin.disableTable(tableName);
  admin.restoreSnapshot(emptySnapshot);
  admin.enableTable(tableName);
  SnapshotTestingUtils.verifyRowCount(TEST_UTIL, tableName, 0);

  // Restore from snapshot-1
  admin.disableTable(tableName);
  admin.restoreSnapshot(snapshotName1);
  admin.enableTable(tableName);
  SnapshotTestingUtils.verifyRowCount(TEST_UTIL, tableName, snapshot1Rows);
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:23,代码来源:TestRestoreSnapshotFromClient.java

示例5: getArchivedHFiles

import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; //导入依赖的package包/类
/**
 * @return all the HFiles for a given table that have been archived
 * @throws IOException on expected failure
 */
private final Collection<String> getArchivedHFiles(Path archiveDir, Path rootDir,
    FileSystem fs, String tableName) throws IOException {
  Path tableArchive = new Path(archiveDir, tableName);
  Path[] archivedHFiles = SnapshotTestingUtils.listHFiles(fs, tableArchive);
  List<String> files = new ArrayList<String>(archivedHFiles.length);
  LOG.debug("Have archived hfiles: " + tableArchive);
  for (Path file : archivedHFiles) {
    LOG.debug(file);
    files.add(file.getName());
  }
  // sort the archived files

  Collections.sort(files);
  return files;
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:20,代码来源:TestSnapshotFromMaster.java

示例6: getArchivedHFiles

import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; //导入依赖的package包/类
/**
 * @return all the HFiles for a given table that have been archived
 * @throws IOException on expected failure
 */
private final Collection<String> getArchivedHFiles(Path archiveDir, Path rootDir,
    FileSystem fs, TableName tableName) throws IOException {
  Path tableArchive = FSUtils.getTableDir(archiveDir, tableName);
  Path[] archivedHFiles = SnapshotTestingUtils.listHFiles(fs, tableArchive);
  List<String> files = new ArrayList<String>(archivedHFiles.length);
  LOG.debug("Have archived hfiles: " + tableArchive);
  for (Path file : archivedHFiles) {
    LOG.debug(file);
    files.add(file.getName());
  }
  // sort the archived files

  Collections.sort(files);
  return files;
}
 
开发者ID:grokcoder,项目名称:pbase,代码行数:20,代码来源:TestSnapshotFromMaster.java

示例7: testAsyncFlushSnapshot

import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; //导入依赖的package包/类
@Test(timeout = 300000)
public void testAsyncFlushSnapshot() throws Exception {
  HBaseAdmin admin = UTIL.getHBaseAdmin();
  SnapshotDescription snapshot = SnapshotDescription.newBuilder().setName("asyncSnapshot")
      .setTable(TABLE_NAME.getNameAsString())
      .setType(SnapshotDescription.Type.FLUSH)
      .build();

  // take the snapshot async
  admin.takeSnapshotAsync(snapshot);

  // constantly loop, looking for the snapshot to complete
  HMaster master = UTIL.getMiniHBaseCluster().getMaster();
  SnapshotTestingUtils.waitForSnapshotToComplete(master, snapshot, 200);
  LOG.info(" === Async Snapshot Completed ===");
  FSUtils.logFileSystemState(UTIL.getTestFileSystem(),
    FSUtils.getRootDir(UTIL.getConfiguration()), LOG);
  // make sure we get the snapshot
  SnapshotTestingUtils.assertOneSnapshotThatMatches(admin, snapshot);
}
 
开发者ID:tenggyut,项目名称:HIndex,代码行数:21,代码来源:TestFlushSnapshotFromClient.java

示例8: testCloneSnapshotOfCloned

import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; //导入依赖的package包/类
@Test
public void testCloneSnapshotOfCloned() throws IOException, InterruptedException {
  TableName clonedTableName = TableName.valueOf(name.getMethodName() + "-" + System.currentTimeMillis());
  admin.cloneSnapshot(snapshotName0, clonedTableName);
  verifyRowCount(TEST_UTIL, clonedTableName, snapshot0Rows);
  SnapshotTestingUtils.verifyReplicasCameOnline(clonedTableName, admin, getNumReplicas());
  admin.disableTable(clonedTableName);
  admin.snapshot(snapshotName2, clonedTableName);
  TEST_UTIL.deleteTable(clonedTableName);
  waitCleanerRun();

  admin.cloneSnapshot(snapshotName2, clonedTableName);
  verifyRowCount(TEST_UTIL, clonedTableName, snapshot0Rows);
  SnapshotTestingUtils.verifyReplicasCameOnline(clonedTableName, admin, getNumReplicas());
  TEST_UTIL.deleteTable(clonedTableName);
}
 
开发者ID:apache,项目名称:hbase,代码行数:17,代码来源:TestRestoreSnapshotFromClient.java

示例9: testCloneAndRestoreSnapshot

import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; //导入依赖的package包/类
@Test
public void testCloneAndRestoreSnapshot() throws IOException, InterruptedException {
  TEST_UTIL.deleteTable(tableName);
  waitCleanerRun();

  admin.cloneSnapshot(snapshotName0, tableName);
  verifyRowCount(TEST_UTIL, tableName, snapshot0Rows);
  SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, getNumReplicas());
  waitCleanerRun();

  admin.disableTable(tableName);
  admin.restoreSnapshot(snapshotName0);
  admin.enableTable(tableName);
  verifyRowCount(TEST_UTIL, tableName, snapshot0Rows);
  SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, getNumReplicas());
}
 
开发者ID:apache,项目名称:hbase,代码行数:17,代码来源:TestRestoreSnapshotFromClient.java

示例10: testCloneLinksAfterDelete

import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; //导入依赖的package包/类
@Test
@Override
public void testCloneLinksAfterDelete() throws IOException, InterruptedException {
  // delay the flush to make sure
  delayFlush = true;
  SnapshotTestingUtils.loadData(TEST_UTIL, tableName, 20, FAMILY);
  long tid = System.currentTimeMillis();
  byte[] snapshotName3 = Bytes.toBytes("snaptb3-" + tid);
  TableName clonedTableName3 = TableName.valueOf(name.getMethodName() + System.currentTimeMillis());
  admin.snapshot(snapshotName3, tableName);
  delayFlush = false;
  int snapshot3Rows = -1;
  try (Table table = TEST_UTIL.getConnection().getTable(tableName)) {
    snapshot3Rows = TEST_UTIL.countRows(table);
  }
  admin.cloneSnapshot(snapshotName3, clonedTableName3);
  admin.deleteSnapshot(snapshotName3);
  super.testCloneLinksAfterDelete();
  verifyRowCount(TEST_UTIL, clonedTableName3, snapshot3Rows);
  admin.disableTable(clonedTableName3);
  admin.deleteTable(clonedTableName3);
}
 
开发者ID:apache,项目名称:hbase,代码行数:23,代码来源:TestMobCloneSnapshotFromClient.java

示例11: createMobTable

import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; //导入依赖的package包/类
private void createMobTable(final HBaseTestingUtility util, final TableName tableName,
  final byte[][] splitKeys, int regionReplication, final byte[]... families) throws IOException,
  InterruptedException {
  HTableDescriptor htd = new HTableDescriptor(tableName);
  htd.setRegionReplication(regionReplication);
  htd.addCoprocessor(DelayFlushCoprocessor.class.getName());
  for (byte[] family : families) {
    HColumnDescriptor hcd = new HColumnDescriptor(family);
    hcd.setMobEnabled(true);
    hcd.setMobThreshold(0L);
    htd.addFamily(hcd);
  }
  util.getAdmin().createTable(htd, splitKeys);
  SnapshotTestingUtils.waitForTableToBeOnline(util, tableName);
  assertEquals((splitKeys.length + 1) * regionReplication,
    util.getAdmin().getTableRegions(tableName).size());
}
 
开发者ID:apache,项目名称:hbase,代码行数:18,代码来源:TestMobCloneSnapshotFromClient.java

示例12: getSnapshot

import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; //导入依赖的package包/类
private SnapshotProtos.SnapshotDescription getSnapshot() throws Exception {
  if (snapshot == null) {
    final TableName snapshotTableName = TableName.valueOf("testCloneSnapshot");
    long tid = System.currentTimeMillis();
    final byte[] snapshotName = Bytes.toBytes("snapshot-" + tid);

    Admin admin = UTIL.getAdmin();
    // create Table
    SnapshotTestingUtils.createTable(UTIL, snapshotTableName, getNumReplicas(), CF);
    // Load data
    SnapshotTestingUtils.loadData(UTIL, snapshotTableName, 500, CF);
    admin.disableTable(snapshotTableName);
    // take a snapshot
    admin.snapshot(snapshotName, snapshotTableName);
    admin.enableTable(snapshotTableName);

    List<SnapshotDescription> snapshotList = admin.listSnapshots();
    snapshot = ProtobufUtil.createHBaseProtosSnapshotDesc(snapshotList.get(0));
  }
  return snapshot;
}
 
开发者ID:apache,项目名称:hbase,代码行数:22,代码来源:TestCloneSnapshotProcedure.java

示例13: testCorruptedRegionManifest

import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; //导入依赖的package包/类
/**
 * If there is a corrupted region manifest, it should throw out CorruptedSnapshotException,
 * instead of an IOException
 */
@Test
public void testCorruptedRegionManifest() throws IOException {
  SnapshotTestingUtils.SnapshotMock
      snapshotMock = new SnapshotTestingUtils.SnapshotMock(TEST_UTIL.getConfiguration(), fs, rootDir);
  SnapshotTestingUtils.SnapshotMock.SnapshotBuilder builder = snapshotMock.createSnapshotV2(
      SNAPSHOT_NAME_STR, TABLE_NAME_STR);
  builder.addRegionV2();
  builder.corruptOneRegionManifest();

  long period = Long.MAX_VALUE;
  SnapshotFileCache cache = new SnapshotFileCache(fs, rootDir, period, 10000000,
      "test-snapshot-file-cache-refresh", new SnapshotFiles());
  try {
    cache.getSnapshotsInProgress(null);
  } catch (CorruptedSnapshotException cse) {
    LOG.info("Expected exception " + cse);
  } finally {
    fs.delete(SnapshotDescriptionUtils.getWorkingSnapshotDir(rootDir), true);
  }
}
 
开发者ID:apache,项目名称:hbase,代码行数:25,代码来源:TestSnapshotHFileCleaner.java

示例14: testCorruptedDataManifest

import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; //导入依赖的package包/类
/**
 * If there is a corrupted data manifest, it should throw out CorruptedSnapshotException,
 * instead of an IOException
 */
@Test
public void testCorruptedDataManifest() throws IOException {
  SnapshotTestingUtils.SnapshotMock
      snapshotMock = new SnapshotTestingUtils.SnapshotMock(TEST_UTIL.getConfiguration(), fs, rootDir);
  SnapshotTestingUtils.SnapshotMock.SnapshotBuilder builder = snapshotMock.createSnapshotV2(
      SNAPSHOT_NAME_STR, TABLE_NAME_STR);
  builder.addRegionV2();
  // consolidate to generate a data.manifest file
  builder.consolidate();
  builder.corruptDataManifest();

  long period = Long.MAX_VALUE;
  SnapshotFileCache cache = new SnapshotFileCache(fs, rootDir, period, 10000000,
      "test-snapshot-file-cache-refresh", new SnapshotFiles());
  try {
    cache.getSnapshotsInProgress(null);
  } catch (CorruptedSnapshotException cse) {
    LOG.info("Expected exception " + cse);
  } finally {
    fs.delete(SnapshotDescriptionUtils.getWorkingSnapshotDir(rootDir), true);
  }
}
 
开发者ID:apache,项目名称:hbase,代码行数:27,代码来源:TestSnapshotHFileCleaner.java

示例15: testMissedTmpSnapshot

import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; //导入依赖的package包/类
/**
* HBASE-16464
*/
@Test
public void testMissedTmpSnapshot() throws IOException {
  SnapshotTestingUtils.SnapshotMock
      snapshotMock = new SnapshotTestingUtils.SnapshotMock(TEST_UTIL.getConfiguration(), fs, rootDir);
  SnapshotTestingUtils.SnapshotMock.SnapshotBuilder builder = snapshotMock.createSnapshotV2(
      SNAPSHOT_NAME_STR, TABLE_NAME_STR);
  builder.addRegionV2();
  builder.missOneRegionSnapshotFile();

    long period = Long.MAX_VALUE;
  SnapshotFileCache cache = new SnapshotFileCache(fs, rootDir, period, 10000000,
      "test-snapshot-file-cache-refresh", new SnapshotFiles());
  cache.getSnapshotsInProgress(null);
  assertFalse(fs.exists(builder.getSnapshotsDir()));
}
 
开发者ID:apache,项目名称:hbase,代码行数:19,代码来源:TestSnapshotHFileCleaner.java


注:本文中的org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。