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


Java SnapshotTestHelper.compareDumpedTreeInFile方法代码示例

本文整理汇总了Java中org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotTestHelper.compareDumpedTreeInFile方法的典型用法代码示例。如果您正苦于以下问题:Java SnapshotTestHelper.compareDumpedTreeInFile方法的具体用法?Java SnapshotTestHelper.compareDumpedTreeInFile怎么用?Java SnapshotTestHelper.compareDumpedTreeInFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotTestHelper的用法示例。


在下文中一共展示了SnapshotTestHelper.compareDumpedTreeInFile方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: checkImage

import org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotTestHelper; //导入方法依赖的package包/类
void checkImage(int s) throws IOException {
  final String name = "s" + s;

  // dump the fsdir tree
  File fsnBefore = dumpTree2File(name + "_before");
  
  // save the namesystem to a temp file
  File imageFile = saveFSImageToTempFile();
  
  long numSdirBefore = fsn.getNumSnapshottableDirs();
  long numSnapshotBefore = fsn.getNumSnapshots();
  SnapshottableDirectoryStatus[] dirBefore = hdfs.getSnapshottableDirListing();

  // shutdown the cluster
  cluster.shutdown();

  // dump the fsdir tree
  File fsnBetween = dumpTree2File(name + "_between");
  SnapshotTestHelper.compareDumpedTreeInFile(fsnBefore, fsnBetween, true);

  // restart the cluster, and format the cluster
  cluster = new MiniDFSCluster.Builder(conf).format(true)
      .numDataNodes(REPLICATION).build();
  cluster.waitActive();
  fsn = cluster.getNamesystem();
  hdfs = cluster.getFileSystem();
  
  // load the namesystem from the temp file
  loadFSImageFromTempFile(imageFile);
  
  // dump the fsdir tree again
  File fsnAfter = dumpTree2File(name + "_after");
  
  // compare two dumped tree
  SnapshotTestHelper.compareDumpedTreeInFile(fsnBefore, fsnAfter, true);
  
  long numSdirAfter = fsn.getNumSnapshottableDirs();
  long numSnapshotAfter = fsn.getNumSnapshots();
  SnapshottableDirectoryStatus[] dirAfter = hdfs.getSnapshottableDirListing();
  
  Assert.assertEquals(numSdirBefore, numSdirAfter);
  Assert.assertEquals(numSnapshotBefore, numSnapshotAfter);
  Assert.assertEquals(dirBefore.length, dirAfter.length);
  List<String> pathListBefore = new ArrayList<String>();
  for (SnapshottableDirectoryStatus sBefore : dirBefore) {
    pathListBefore.add(sBefore.getFullPath().toString());
  }
  for (SnapshottableDirectoryStatus sAfter : dirAfter) {
    Assert.assertTrue(pathListBefore.contains(sAfter.getFullPath().toString()));
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:52,代码来源:TestFSImageWithSnapshot.java

示例2: testSaveLoadImageWithAppending

import org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotTestHelper; //导入方法依赖的package包/类
/**
 * Test the fsimage saving/loading while file appending.
 */
@Test (timeout=60000)
public void testSaveLoadImageWithAppending() throws Exception {
  Path sub1 = new Path(dir, "sub1");
  Path sub1file1 = new Path(sub1, "sub1file1");
  Path sub1file2 = new Path(sub1, "sub1file2");
  DFSTestUtil.createFile(hdfs, sub1file1, BLOCKSIZE, REPLICATION, seed);
  DFSTestUtil.createFile(hdfs, sub1file2, BLOCKSIZE, REPLICATION, seed);
  
  // 1. create snapshot s0
  hdfs.allowSnapshot(dir);
  hdfs.createSnapshot(dir, "s0");
  
  // 2. create snapshot s1 before appending sub1file1 finishes
  HdfsDataOutputStream out = appendFileWithoutClosing(sub1file1, BLOCKSIZE);
  out.hsync(EnumSet.of(SyncFlag.UPDATE_LENGTH));
  // also append sub1file2
  DFSTestUtil.appendFile(hdfs, sub1file2, BLOCKSIZE);
  hdfs.createSnapshot(dir, "s1");
  out.close();
  
  // 3. create snapshot s2 before appending finishes
  out = appendFileWithoutClosing(sub1file1, BLOCKSIZE);
  out.hsync(EnumSet.of(SyncFlag.UPDATE_LENGTH));
  hdfs.createSnapshot(dir, "s2");
  out.close();
  
  // 4. save fsimage before appending finishes
  out = appendFileWithoutClosing(sub1file1, BLOCKSIZE);
  out.hsync(EnumSet.of(SyncFlag.UPDATE_LENGTH));
  // dump fsdir
  File fsnBefore = dumpTree2File("before");
  // save the namesystem to a temp file
  File imageFile = saveFSImageToTempFile();
  
  // 5. load fsimage and compare
  // first restart the cluster, and format the cluster
  out.close();
  cluster.shutdown();
  cluster = new MiniDFSCluster.Builder(conf).format(true)
      .numDataNodes(REPLICATION).build();
  cluster.waitActive();
  fsn = cluster.getNamesystem();
  hdfs = cluster.getFileSystem();
  // then load the fsimage
  loadFSImageFromTempFile(imageFile);
  
  // dump the fsdir tree again
  File fsnAfter = dumpTree2File("after");
  
  // compare two dumped tree
  SnapshotTestHelper.compareDumpedTreeInFile(fsnBefore, fsnAfter, true);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:56,代码来源:TestFSImageWithSnapshot.java


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