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


Java PerDatanodeVisitorInfo类代码示例

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


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

示例1: testShortCircuitReadFromServerWithoutShm

import org.apache.hadoop.hdfs.shortcircuit.DfsClientShmManager.PerDatanodeVisitorInfo; //导入依赖的package包/类
/**
 * Test that a client which supports short-circuit reads using
 * shared memory can fall back to not using shared memory when
 * the server doesn't support it.
 */
@Test
public void testShortCircuitReadFromServerWithoutShm() throws Exception {
  TemporarySocketDirectory sockDir = new TemporarySocketDirectory();
  Configuration clientConf = createShortCircuitConf(
      "testShortCircuitReadFromServerWithoutShm", sockDir);
  Configuration serverConf = new Configuration(clientConf);
  serverConf.setInt(
      DFS_SHORT_CIRCUIT_SHARED_MEMORY_WATCHER_INTERRUPT_CHECK_MS, 0);
  DFSInputStream.tcpReadsDisabledForTesting = true;
  final MiniDFSCluster cluster =
      new MiniDFSCluster.Builder(serverConf).numDataNodes(1).build();
  cluster.waitActive();
  clientConf.set(DFS_CLIENT_CONTEXT,
      "testShortCircuitReadFromServerWithoutShm_clientContext");
  final DistributedFileSystem fs =
      (DistributedFileSystem)FileSystem.get(cluster.getURI(0), clientConf);
  final String TEST_FILE = "/test_file";
  final int TEST_FILE_LEN = 4000;
  final int SEED = 0xFADEC;
  DFSTestUtil.createFile(fs, new Path(TEST_FILE), TEST_FILE_LEN,
      (short)1, SEED);
  byte contents[] = DFSTestUtil.readFileBuffer(fs, new Path(TEST_FILE));
  byte expected[] = DFSTestUtil.
      calculateFileContentsFromSeed(SEED, TEST_FILE_LEN);
  Assert.assertTrue(Arrays.equals(contents, expected));
  final ShortCircuitCache cache =
      fs.dfs.getClientContext().getShortCircuitCache();
  final DatanodeInfo datanode =
      new DatanodeInfo(cluster.getDataNodes().get(0).getDatanodeId());
  cache.getDfsClientShmManager().visit(new Visitor() {
    @Override
    public void visit(HashMap<DatanodeInfo, PerDatanodeVisitorInfo> info)
        throws IOException {
      Assert.assertEquals(1,  info.size());
      PerDatanodeVisitorInfo vinfo = info.get(datanode);
      Assert.assertTrue(vinfo.disabled);
      Assert.assertEquals(0, vinfo.full.size());
      Assert.assertEquals(0, vinfo.notFull.size());
    }
  });
  cluster.shutdown();
  sockDir.close();
}
 
开发者ID:naver,项目名称:hadoop,代码行数:49,代码来源:TestBlockReaderFactory.java

示例2: testShortCircuitReadFromServerWithoutShm

import org.apache.hadoop.hdfs.shortcircuit.DfsClientShmManager.PerDatanodeVisitorInfo; //导入依赖的package包/类
/**
 * Test that a client which supports short-circuit reads using
 * shared memory can fall back to not using shared memory when
 * the server doesn't support it.
 */
@Test
public void testShortCircuitReadFromServerWithoutShm() throws Exception {
  TemporarySocketDirectory sockDir = new TemporarySocketDirectory();
  Configuration clientConf = createShortCircuitConf(
      "testShortCircuitReadFromServerWithoutShm", sockDir);
  Configuration serverConf = new Configuration(clientConf);
  serverConf.setInt(
      DFS_SHORT_CIRCUIT_SHARED_MEMORY_WATCHER_INTERRUPT_CHECK_MS, 0);
  DFSInputStream.tcpReadsDisabledForTesting = true;
  final MiniDFSCluster cluster =
      new MiniDFSCluster.Builder(serverConf).numDataNodes(1).build();
  cluster.waitActive();
  clientConf.set(DFS_CLIENT_CONTEXT,
      "testShortCircuitReadFromServerWithoutShm_clientContext");
  final DistributedFileSystem fs =
      (DistributedFileSystem)FileSystem.get(cluster.getURI(0), clientConf);
  final String TEST_FILE = "/test_file";
  final int TEST_FILE_LEN = 4000;
  final int SEED = 0xFADEC;
  DFSTestUtil.createFile(fs, new Path(TEST_FILE), TEST_FILE_LEN,
      (short)1, SEED);
  byte contents[] = DFSTestUtil.readFileBuffer(fs, new Path(TEST_FILE));
  byte expected[] = DFSTestUtil.
      calculateFileContentsFromSeed(SEED, TEST_FILE_LEN);
  Assert.assertTrue(Arrays.equals(contents, expected));
  final ShortCircuitCache cache =
      fs.dfs.getClientContext().getShortCircuitCache();
  final DatanodeInfo datanode =
      new DatanodeInfo(cluster.getDataNodes().get(0).getDatanodeId());
  cache.getDfsClientShmManager().visit(new Visitor() {
    @Override
    public void visit(HashMap<DatanodeInfo, PerDatanodeVisitorInfo> info)
        throws IOException {
      Assert.assertEquals(1,  info.size());
      PerDatanodeVisitorInfo vinfo = info.get(datanode);
      Assert.assertTrue(vinfo.disabled);
      Assert.assertEquals(0, vinfo.full.size());
      Assert.assertEquals(0, vinfo.notFull.size());
    }
  });
  cluster.shutdown();
}
 
开发者ID:Nextzero,项目名称:hadoop-2.6.0-cdh5.4.3,代码行数:48,代码来源:TestBlockReaderFactory.java


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