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


Java TestDirectoryTree类代码示例

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


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

示例1: createSnapshots

import org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotTestHelper.TestDirectoryTree; //导入依赖的package包/类
/**
 * Create two snapshots in each iteration. Each time we will create a snapshot
 * for the top node, then randomly pick a dir in the tree and create
 * snapshot for it.
 * 
 * Finally check the snapshots are created correctly.
 */
protected TestDirectoryTree.Node[] createSnapshots() throws Exception {
  TestDirectoryTree.Node[] nodes = new TestDirectoryTree.Node[2];
  // Each time we will create a snapshot for the top level dir
  Path root = SnapshotTestHelper.createSnapshot(hdfs,
      dirTree.topNode.nodePath, nextSnapshotName());
  snapshotList.add(root);
  nodes[0] = dirTree.topNode; 
  SnapshotTestHelper.checkSnapshotCreation(hdfs, root, nodes[0].nodePath);
  
  // Then randomly pick one dir from the tree (cannot be the top node) and
  // create snapshot for it
  ArrayList<TestDirectoryTree.Node> excludedList = 
      new ArrayList<TestDirectoryTree.Node>();
  excludedList.add(nodes[0]);
  nodes[1] = dirTree.getRandomDirNode(random, excludedList);

  root = SnapshotTestHelper.createSnapshot(hdfs, nodes[1].nodePath,
      nextSnapshotName());

  snapshotList.add(root);
  SnapshotTestHelper.checkSnapshotCreation(hdfs, root, nodes[1].nodePath);
  return nodes;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:31,代码来源:TestSnapshot.java

示例2: DirCreationOrDeletion

import org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotTestHelper.TestDirectoryTree; //导入依赖的package包/类
DirCreationOrDeletion(Path file, FileSystem fs, TestDirectoryTree.Node node,
    boolean isCreation) {
  super(file, fs, "dircreation");
  this.node = node;
  // If the node's nonSnapshotChildren is empty, we still need to create
  // sub-directories
  this.isCreation = isCreation || node.nonSnapshotChildren.isEmpty();
  if (this.isCreation) {
    // Generate the path for the dir to be created
    changedPath = new Path(node.nodePath, "sub"
        + node.nonSnapshotChildren.size());
  } else {
    // If deletion, we delete the current last dir in nonSnapshotChildren
    changedPath = node.nonSnapshotChildren.get(node.nonSnapshotChildren
        .size() - 1).nodePath;
  }
  this.statusMap = new HashMap<Path, FileStatus>();
}
 
开发者ID:naver,项目名称:hadoop,代码行数:19,代码来源:TestSnapshot.java

示例3: modify

import org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotTestHelper.TestDirectoryTree; //导入依赖的package包/类
@Override
void modify() throws Exception {
  if (isCreation) {
    // creation
    TestDirectoryTree.Node newChild = new TestDirectoryTree.Node(
        changedPath, node.level + 1, node, hdfs);
    // create file under the new non-snapshottable directory
    newChild.initFileList(hdfs, node.nodePath.getName(), BLOCKSIZE,
        REPLICATION, seed, 2);
    node.nonSnapshotChildren.add(newChild);
  } else {
    // deletion
    TestDirectoryTree.Node childToDelete = node.nonSnapshotChildren
        .remove(node.nonSnapshotChildren.size() - 1);
    hdfs.delete(childToDelete.nodePath, true);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:18,代码来源:TestSnapshot.java

示例4: DirRename

import org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotTestHelper.TestDirectoryTree; //导入依赖的package包/类
DirRename(Path file, FileSystem fs, TestDirectoryTree.Node src,
    TestDirectoryTree.Node dst) throws Exception {
  super(file, fs, "dirrename");
  this.srcParent = src;
  this.dstParent = dst;
  dstPath = new Path(dstParent.nodePath, "sub"
      + dstParent.nonSnapshotChildren.size());
  
  // If the srcParent's nonSnapshotChildren is empty, we need to create
  // sub-directories
  if (srcParent.nonSnapshotChildren.isEmpty()) {
    srcPath = new Path(srcParent.nodePath, "sub"
        + srcParent.nonSnapshotChildren.size());
    // creation
    TestDirectoryTree.Node newChild = new TestDirectoryTree.Node(
        srcPath, srcParent.level + 1, srcParent, hdfs);
    // create file under the new non-snapshottable directory
    newChild.initFileList(hdfs, srcParent.nodePath.getName(), BLOCKSIZE,
        REPLICATION, seed, 2);
    srcParent.nonSnapshotChildren.add(newChild);
  } else {
    srcPath = new Path(srcParent.nodePath, "sub"
        + (srcParent.nonSnapshotChildren.size() - 1));
  }
  this.statusMap = new HashMap<Path, FileStatus>();
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:27,代码来源:TestSnapshot.java

示例5: setUp

import org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotTestHelper.TestDirectoryTree; //导入依赖的package包/类
@Before
public void setUp() throws Exception {
  conf = new Configuration();
  conf.setLong(DFSConfigKeys.DFS_BLOCK_SIZE_KEY, BLOCKSIZE);
  cluster = new MiniDFSCluster.Builder(conf).numDataNodes(REPLICATION)
      .build();
  cluster.waitActive();

  fsn = cluster.getNamesystem();
  fsdir = fsn.getFSDirectory();
  hdfs = cluster.getFileSystem();
  dirTree = new TestDirectoryTree(DIRECTORY_TREE_LEVEL, hdfs);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:14,代码来源:TestSnapshot.java

示例6: runTestSnapshot

import org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotTestHelper.TestDirectoryTree; //导入依赖的package包/类
private void runTestSnapshot(int iteration) throws Exception {
  for (int i = 0; i < iteration; i++) {
    // create snapshot and check the creation
    cluster.getNamesystem().getSnapshotManager().setAllowNestedSnapshots(true);
    TestDirectoryTree.Node[] ssNodes = createSnapshots();
    
    // prepare the modifications for the snapshotted dirs
    // we cover the following directories: top, new, and a random
    ArrayList<TestDirectoryTree.Node> excludedList = 
        new ArrayList<TestDirectoryTree.Node>();
    TestDirectoryTree.Node[] modNodes = 
        new TestDirectoryTree.Node[ssNodes.length + 1];
    for (int n = 0; n < ssNodes.length; n++) {
      modNodes[n] = ssNodes[n];
      excludedList.add(ssNodes[n]);
    }
    modNodes[modNodes.length - 1] = dirTree.getRandomDirNode(random,
        excludedList);
    Modification[] mods = prepareModifications(modNodes);
    // make changes to the directories/files
    modifyCurrentDirAndCheckSnapshots(mods);
    
    // also update the metadata of directories
    TestDirectoryTree.Node chmodDir = dirTree.getRandomDirNode(random, null);
    Modification chmod = new FileChangePermission(chmodDir.nodePath, hdfs,
        genRandomPermission());
    String[] userGroup = genRandomOwner();
    TestDirectoryTree.Node chownDir = dirTree.getRandomDirNode(random,
        Arrays.asList(chmodDir));
    Modification chown = new FileChown(chownDir.nodePath, hdfs, userGroup[0],
        userGroup[1]);
    modifyCurrentDirAndCheckSnapshots(new Modification[]{chmod, chown});
    
    // check fsimage saving/loading
    checkFSImage();
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:38,代码来源:TestSnapshot.java


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