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


Java NameNodeAdapter.getLeaseRenewalTime方法代码示例

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


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

示例1: testLeasesRenewedOnTransition

import org.apache.hadoop.hdfs.server.namenode.NameNodeAdapter; //导入方法依赖的package包/类
/**
 * Test for HDFS-2812. Since lease renewals go from the client
 * only to the active NN, the SBN will have out-of-date lease
 * info when it becomes active. We need to make sure we don't
 * accidentally mark the leases as expired when the failover
 * proceeds.
 */
@Test(timeout=120000)
public void testLeasesRenewedOnTransition() throws Exception {
  Configuration conf = new Configuration();
  conf.setInt(DFSConfigKeys.DFS_HA_TAILEDITS_PERIOD_KEY, 1);
  MiniDFSCluster cluster = new MiniDFSCluster.Builder(conf)
    .nnTopology(MiniDFSNNTopology.simpleHATopology())
    .numDataNodes(1)
    .build();
  FSDataOutputStream stm = null;
  FileSystem fs = HATestUtil.configureFailoverFs(cluster, conf);
  NameNode nn0 = cluster.getNameNode(0);
  NameNode nn1 = cluster.getNameNode(1);

  try {
    cluster.waitActive();
    cluster.transitionToActive(0);
    
    LOG.info("Starting with NN 0 active");

    stm = fs.create(TEST_FILE_PATH);
    long nn0t0 = NameNodeAdapter.getLeaseRenewalTime(nn0, TEST_FILE_STR);
    assertTrue(nn0t0 > 0);
    long nn1t0 = NameNodeAdapter.getLeaseRenewalTime(nn1, TEST_FILE_STR);
    assertEquals("Lease should not yet exist on nn1",
        -1, nn1t0);
    
    Thread.sleep(5); // make sure time advances!

    HATestUtil.waitForStandbyToCatchUp(nn0, nn1);
    long nn1t1 = NameNodeAdapter.getLeaseRenewalTime(nn1, TEST_FILE_STR);
    assertTrue("Lease should have been created on standby. Time was: " +
        nn1t1, nn1t1 > nn0t0);
        
    Thread.sleep(5); // make sure time advances!
    
    LOG.info("Failing over to NN 1");
    cluster.transitionToStandby(0);
    cluster.transitionToActive(1);
    long nn1t2 = NameNodeAdapter.getLeaseRenewalTime(nn1, TEST_FILE_STR);
    assertTrue("Lease should have been renewed by failover process",
        nn1t2 > nn1t1);
  } finally {
    IOUtils.closeStream(stm);
    cluster.shutdown();
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:54,代码来源:TestHAStateTransitions.java


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