Java 类org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.TestInterDatanodeProtocol 实例源码

项目:hadoop    文件:TestLeaseRecovery.java   
static void checkMetaInfo(ExtendedBlock b, DataNode dn
    ) throws IOException {
  TestInterDatanodeProtocol.checkMetaInfo(b, dn);
}
项目:aliyun-oss-hadoop-fs    文件:TestLeaseRecovery.java   
static void checkMetaInfo(ExtendedBlock b, DataNode dn
    ) throws IOException {
  TestInterDatanodeProtocol.checkMetaInfo(b, dn);
}
项目:aliyun-oss-hadoop-fs    文件:TestLeaseRecovery.java   
/**
 * The following test first creates a file with a few blocks.
 * It randomly truncates the replica of the last block stored in each datanode.
 * Finally, it triggers block synchronization to synchronize all stored block.
 */
@Test
public void testBlockSynchronization() throws Exception {
  final int ORG_FILE_SIZE = 3000; 
  Configuration conf = new HdfsConfiguration();
  conf.setLong(DFSConfigKeys.DFS_BLOCK_SIZE_KEY, BLOCK_SIZE);
  cluster = new MiniDFSCluster.Builder(conf).numDataNodes(5).build();
  cluster.waitActive();

  //create a file
  DistributedFileSystem dfs = cluster.getFileSystem();
  String filestr = "/foo";
  Path filepath = new Path(filestr);
  DFSTestUtil.createFile(dfs, filepath, ORG_FILE_SIZE, REPLICATION_NUM, 0L);
  assertTrue(dfs.exists(filepath));
  DFSTestUtil.waitReplication(dfs, filepath, REPLICATION_NUM);

  //get block info for the last block
  LocatedBlock locatedblock = TestInterDatanodeProtocol.getLastLocatedBlock(
      dfs.dfs.getNamenode(), filestr);
  DatanodeInfo[] datanodeinfos = locatedblock.getLocations();
  assertEquals(REPLICATION_NUM, datanodeinfos.length);

  //connect to data nodes
  DataNode[] datanodes = new DataNode[REPLICATION_NUM];
  for(int i = 0; i < REPLICATION_NUM; i++) {
    datanodes[i] = cluster.getDataNode(datanodeinfos[i].getIpcPort());
    assertTrue(datanodes[i] != null);
  }

  //verify Block Info
  ExtendedBlock lastblock = locatedblock.getBlock();
  DataNode.LOG.info("newblocks=" + lastblock);
  for(int i = 0; i < REPLICATION_NUM; i++) {
    checkMetaInfo(lastblock, datanodes[i]);
  }

  DataNode.LOG.info("dfs.dfs.clientName=" + dfs.dfs.clientName);
  cluster.getNameNodeRpc().append(filestr, dfs.dfs.clientName,
      new EnumSetWritable<>(EnumSet.of(CreateFlag.APPEND)));

  // expire lease to trigger block recovery.
  waitLeaseRecovery(cluster);

  Block[] updatedmetainfo = new Block[REPLICATION_NUM];
  long oldSize = lastblock.getNumBytes();
  lastblock = TestInterDatanodeProtocol.getLastLocatedBlock(
      dfs.dfs.getNamenode(), filestr).getBlock();
  long currentGS = lastblock.getGenerationStamp();
  for(int i = 0; i < REPLICATION_NUM; i++) {
    updatedmetainfo[i] = DataNodeTestUtils.getFSDataset(datanodes[i]).getStoredBlock(
        lastblock.getBlockPoolId(), lastblock.getBlockId());
    assertEquals(lastblock.getBlockId(), updatedmetainfo[i].getBlockId());
    assertEquals(oldSize, updatedmetainfo[i].getNumBytes());
    assertEquals(currentGS, updatedmetainfo[i].getGenerationStamp());
  }

  // verify that lease recovery does not occur when namenode is in safemode
  System.out.println("Testing that lease recovery cannot happen during safemode.");
  filestr = "/foo.safemode";
  filepath = new Path(filestr);
  dfs.create(filepath, (short)1);
  cluster.getNameNodeRpc().setSafeMode(
      HdfsConstants.SafeModeAction.SAFEMODE_ENTER, false);
  assertTrue(dfs.dfs.exists(filestr));
  DFSTestUtil.waitReplication(dfs, filepath, (short)1);
  waitLeaseRecovery(cluster);
  // verify that we still cannot recover the lease
  LeaseManager lm = NameNodeAdapter.getLeaseManager(cluster.getNamesystem());
  assertTrue("Found " + lm.countLease() + " lease, expected 1", lm.countLease() == 1);
  cluster.getNameNodeRpc().setSafeMode(
      HdfsConstants.SafeModeAction.SAFEMODE_LEAVE, false);
}
项目:big-c    文件:TestLeaseRecovery.java   
static void checkMetaInfo(ExtendedBlock b, DataNode dn
    ) throws IOException {
  TestInterDatanodeProtocol.checkMetaInfo(b, dn);
}
项目:big-c    文件:TestLeaseRecovery.java   
/**
 * The following test first creates a file with a few blocks.
 * It randomly truncates the replica of the last block stored in each datanode.
 * Finally, it triggers block synchronization to synchronize all stored block.
 */
@Test
public void testBlockSynchronization() throws Exception {
  final int ORG_FILE_SIZE = 3000; 
  Configuration conf = new HdfsConfiguration();
  conf.setLong(DFSConfigKeys.DFS_BLOCK_SIZE_KEY, BLOCK_SIZE);
  cluster = new MiniDFSCluster.Builder(conf).numDataNodes(5).build();
  cluster.waitActive();

  //create a file
  DistributedFileSystem dfs = cluster.getFileSystem();
  String filestr = "/foo";
  Path filepath = new Path(filestr);
  DFSTestUtil.createFile(dfs, filepath, ORG_FILE_SIZE, REPLICATION_NUM, 0L);
  assertTrue(dfs.exists(filepath));
  DFSTestUtil.waitReplication(dfs, filepath, REPLICATION_NUM);

  //get block info for the last block
  LocatedBlock locatedblock = TestInterDatanodeProtocol.getLastLocatedBlock(
      dfs.dfs.getNamenode(), filestr);
  DatanodeInfo[] datanodeinfos = locatedblock.getLocations();
  assertEquals(REPLICATION_NUM, datanodeinfos.length);

  //connect to data nodes
  DataNode[] datanodes = new DataNode[REPLICATION_NUM];
  for(int i = 0; i < REPLICATION_NUM; i++) {
    datanodes[i] = cluster.getDataNode(datanodeinfos[i].getIpcPort());
    assertTrue(datanodes[i] != null);
  }

  //verify Block Info
  ExtendedBlock lastblock = locatedblock.getBlock();
  DataNode.LOG.info("newblocks=" + lastblock);
  for(int i = 0; i < REPLICATION_NUM; i++) {
    checkMetaInfo(lastblock, datanodes[i]);
  }

  DataNode.LOG.info("dfs.dfs.clientName=" + dfs.dfs.clientName);
  cluster.getNameNodeRpc().append(filestr, dfs.dfs.clientName,
      new EnumSetWritable<>(EnumSet.of(CreateFlag.APPEND)));

  // expire lease to trigger block recovery.
  waitLeaseRecovery(cluster);

  Block[] updatedmetainfo = new Block[REPLICATION_NUM];
  long oldSize = lastblock.getNumBytes();
  lastblock = TestInterDatanodeProtocol.getLastLocatedBlock(
      dfs.dfs.getNamenode(), filestr).getBlock();
  long currentGS = lastblock.getGenerationStamp();
  for(int i = 0; i < REPLICATION_NUM; i++) {
    updatedmetainfo[i] = DataNodeTestUtils.getFSDataset(datanodes[i]).getStoredBlock(
        lastblock.getBlockPoolId(), lastblock.getBlockId());
    assertEquals(lastblock.getBlockId(), updatedmetainfo[i].getBlockId());
    assertEquals(oldSize, updatedmetainfo[i].getNumBytes());
    assertEquals(currentGS, updatedmetainfo[i].getGenerationStamp());
  }

  // verify that lease recovery does not occur when namenode is in safemode
  System.out.println("Testing that lease recovery cannot happen during safemode.");
  filestr = "/foo.safemode";
  filepath = new Path(filestr);
  dfs.create(filepath, (short)1);
  cluster.getNameNodeRpc().setSafeMode(
      HdfsConstants.SafeModeAction.SAFEMODE_ENTER, false);
  assertTrue(dfs.dfs.exists(filestr));
  DFSTestUtil.waitReplication(dfs, filepath, (short)1);
  waitLeaseRecovery(cluster);
  // verify that we still cannot recover the lease
  LeaseManager lm = NameNodeAdapter.getLeaseManager(cluster.getNamesystem());
  assertTrue("Found " + lm.countLease() + " lease, expected 1", lm.countLease() == 1);
  cluster.getNameNodeRpc().setSafeMode(
      HdfsConstants.SafeModeAction.SAFEMODE_LEAVE, false);
}
项目:hadoop-2.6.0-cdh5.4.3    文件:TestLeaseRecovery.java   
static void checkMetaInfo(ExtendedBlock b, DataNode dn
    ) throws IOException {
  TestInterDatanodeProtocol.checkMetaInfo(b, dn);
}
项目:hadoop-2.6.0-cdh5.4.3    文件:TestLeaseRecovery.java   
/**
 * The following test first creates a file with a few blocks.
 * It randomly truncates the replica of the last block stored in each datanode.
 * Finally, it triggers block synchronization to synchronize all stored block.
 */
@Test
public void testBlockSynchronization() throws Exception {
  final int ORG_FILE_SIZE = 3000; 
  Configuration conf = new HdfsConfiguration();
  conf.setLong(DFSConfigKeys.DFS_BLOCK_SIZE_KEY, BLOCK_SIZE);
  cluster = new MiniDFSCluster.Builder(conf).numDataNodes(5).build();
  cluster.waitActive();

  //create a file
  DistributedFileSystem dfs = cluster.getFileSystem();
  String filestr = "/foo";
  Path filepath = new Path(filestr);
  DFSTestUtil.createFile(dfs, filepath, ORG_FILE_SIZE, REPLICATION_NUM, 0L);
  assertTrue(dfs.exists(filepath));
  DFSTestUtil.waitReplication(dfs, filepath, REPLICATION_NUM);

  //get block info for the last block
  LocatedBlock locatedblock = TestInterDatanodeProtocol.getLastLocatedBlock(
      dfs.dfs.getNamenode(), filestr);
  DatanodeInfo[] datanodeinfos = locatedblock.getLocations();
  assertEquals(REPLICATION_NUM, datanodeinfos.length);

  //connect to data nodes
  DataNode[] datanodes = new DataNode[REPLICATION_NUM];
  for(int i = 0; i < REPLICATION_NUM; i++) {
    datanodes[i] = cluster.getDataNode(datanodeinfos[i].getIpcPort());
    assertTrue(datanodes[i] != null);
  }

  //verify Block Info
  ExtendedBlock lastblock = locatedblock.getBlock();
  DataNode.LOG.info("newblocks=" + lastblock);
  for(int i = 0; i < REPLICATION_NUM; i++) {
    checkMetaInfo(lastblock, datanodes[i]);
  }

  DataNode.LOG.info("dfs.dfs.clientName=" + dfs.dfs.clientName);
  cluster.getNameNodeRpc().append(filestr, dfs.dfs.clientName);

  // expire lease to trigger block recovery.
  waitLeaseRecovery(cluster);

  Block[] updatedmetainfo = new Block[REPLICATION_NUM];
  long oldSize = lastblock.getNumBytes();
  lastblock = TestInterDatanodeProtocol.getLastLocatedBlock(
      dfs.dfs.getNamenode(), filestr).getBlock();
  long currentGS = lastblock.getGenerationStamp();
  for(int i = 0; i < REPLICATION_NUM; i++) {
    updatedmetainfo[i] = DataNodeTestUtils.getFSDataset(datanodes[i]).getStoredBlock(
        lastblock.getBlockPoolId(), lastblock.getBlockId());
    assertEquals(lastblock.getBlockId(), updatedmetainfo[i].getBlockId());
    assertEquals(oldSize, updatedmetainfo[i].getNumBytes());
    assertEquals(currentGS, updatedmetainfo[i].getGenerationStamp());
  }

  // verify that lease recovery does not occur when namenode is in safemode
  System.out.println("Testing that lease recovery cannot happen during safemode.");
  filestr = "/foo.safemode";
  filepath = new Path(filestr);
  dfs.create(filepath, (short)1);
  cluster.getNameNodeRpc().setSafeMode(
      HdfsConstants.SafeModeAction.SAFEMODE_ENTER, false);
  assertTrue(dfs.dfs.exists(filestr));
  DFSTestUtil.waitReplication(dfs, filepath, (short)1);
  waitLeaseRecovery(cluster);
  // verify that we still cannot recover the lease
  LeaseManager lm = NameNodeAdapter.getLeaseManager(cluster.getNamesystem());
  assertTrue("Found " + lm.countLease() + " lease, expected 1", lm.countLease() == 1);
  cluster.getNameNodeRpc().setSafeMode(
      HdfsConstants.SafeModeAction.SAFEMODE_LEAVE, false);
}
项目:hadoop-plus    文件:TestLeaseRecovery.java   
static void checkMetaInfo(ExtendedBlock b, DataNode dn
    ) throws IOException {
  TestInterDatanodeProtocol.checkMetaInfo(b, dn);
}
项目:FlexMap    文件:TestLeaseRecovery.java   
static void checkMetaInfo(ExtendedBlock b, DataNode dn
    ) throws IOException {
  TestInterDatanodeProtocol.checkMetaInfo(b, dn);
}
项目:FlexMap    文件:TestLeaseRecovery.java   
/**
 * The following test first creates a file with a few blocks.
 * It randomly truncates the replica of the last block stored in each datanode.
 * Finally, it triggers block synchronization to synchronize all stored block.
 */
@Test
public void testBlockSynchronization() throws Exception {
  final int ORG_FILE_SIZE = 3000; 
  Configuration conf = new HdfsConfiguration();
  conf.setLong(DFSConfigKeys.DFS_BLOCK_SIZE_KEY, BLOCK_SIZE);
  cluster = new MiniDFSCluster.Builder(conf).numDataNodes(5).build();
  cluster.waitActive();

  //create a file
  DistributedFileSystem dfs = cluster.getFileSystem();
  String filestr = "/foo";
  Path filepath = new Path(filestr);
  DFSTestUtil.createFile(dfs, filepath, ORG_FILE_SIZE, REPLICATION_NUM, 0L);
  assertTrue(dfs.exists(filepath));
  DFSTestUtil.waitReplication(dfs, filepath, REPLICATION_NUM);

  //get block info for the last block
  LocatedBlock locatedblock = TestInterDatanodeProtocol.getLastLocatedBlock(
      dfs.dfs.getNamenode(), filestr);
  DatanodeInfo[] datanodeinfos = locatedblock.getLocations();
  assertEquals(REPLICATION_NUM, datanodeinfos.length);

  //connect to data nodes
  DataNode[] datanodes = new DataNode[REPLICATION_NUM];
  for(int i = 0; i < REPLICATION_NUM; i++) {
    datanodes[i] = cluster.getDataNode(datanodeinfos[i].getIpcPort());
    assertTrue(datanodes[i] != null);
  }

  //verify Block Info
  ExtendedBlock lastblock = locatedblock.getBlock();
  DataNode.LOG.info("newblocks=" + lastblock);
  for(int i = 0; i < REPLICATION_NUM; i++) {
    checkMetaInfo(lastblock, datanodes[i]);
  }

  DataNode.LOG.info("dfs.dfs.clientName=" + dfs.dfs.clientName);
  cluster.getNameNodeRpc().append(filestr, dfs.dfs.clientName);

  // expire lease to trigger block recovery.
  waitLeaseRecovery(cluster);

  Block[] updatedmetainfo = new Block[REPLICATION_NUM];
  long oldSize = lastblock.getNumBytes();
  lastblock = TestInterDatanodeProtocol.getLastLocatedBlock(
      dfs.dfs.getNamenode(), filestr).getBlock();
  long currentGS = lastblock.getGenerationStamp();
  for(int i = 0; i < REPLICATION_NUM; i++) {
    updatedmetainfo[i] = DataNodeTestUtils.getFSDataset(datanodes[i]).getStoredBlock(
        lastblock.getBlockPoolId(), lastblock.getBlockId());
    assertEquals(lastblock.getBlockId(), updatedmetainfo[i].getBlockId());
    assertEquals(oldSize, updatedmetainfo[i].getNumBytes());
    assertEquals(currentGS, updatedmetainfo[i].getGenerationStamp());
  }

  // verify that lease recovery does not occur when namenode is in safemode
  System.out.println("Testing that lease recovery cannot happen during safemode.");
  filestr = "/foo.safemode";
  filepath = new Path(filestr);
  dfs.create(filepath, (short)1);
  cluster.getNameNodeRpc().setSafeMode(
      HdfsConstants.SafeModeAction.SAFEMODE_ENTER, false);
  assertTrue(dfs.dfs.exists(filestr));
  DFSTestUtil.waitReplication(dfs, filepath, (short)1);
  waitLeaseRecovery(cluster);
  // verify that we still cannot recover the lease
  LeaseManager lm = NameNodeAdapter.getLeaseManager(cluster.getNamesystem());
  assertTrue("Found " + lm.countLease() + " lease, expected 1", lm.countLease() == 1);
  cluster.getNameNodeRpc().setSafeMode(
      HdfsConstants.SafeModeAction.SAFEMODE_LEAVE, false);
}
项目:hops    文件:TestLeaseRecovery.java   
static void checkMetaInfo(ExtendedBlock b, DataNode dn) throws IOException {
  TestInterDatanodeProtocol.checkMetaInfo(b, dn);
}
项目:hadoop-TCP    文件:TestLeaseRecovery.java   
static void checkMetaInfo(ExtendedBlock b, DataNode dn
    ) throws IOException {
  TestInterDatanodeProtocol.checkMetaInfo(b, dn);
}
项目:hardfs    文件:TestLeaseRecovery.java   
static void checkMetaInfo(ExtendedBlock b, DataNode dn
    ) throws IOException {
  TestInterDatanodeProtocol.checkMetaInfo(b, dn);
}
项目:hadoop-on-lustre2    文件:TestLeaseRecovery.java   
static void checkMetaInfo(ExtendedBlock b, DataNode dn
    ) throws IOException {
  TestInterDatanodeProtocol.checkMetaInfo(b, dn);
}