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


Java CachedBlock.setReplicationAndMark方法代码示例

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


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

示例1: findReasonForNotCaching

import org.apache.hadoop.hdfs.server.namenode.CachedBlock; //导入方法依赖的package包/类
private String findReasonForNotCaching(CachedBlock cblock, 
        BlockInfoContiguous blockInfo) {
  if (blockInfo == null) {
    // Somehow, a cache report with the block arrived, but the block
    // reports from the DataNode haven't (yet?) described such a block.
    // Alternately, the NameNode might have invalidated the block, but the
    // DataNode hasn't caught up.  In any case, we want to tell the DN
    // to uncache this.
    return "not tracked by the BlockManager";
  } else if (!blockInfo.isComplete()) {
    // When a cached block changes state from complete to some other state
    // on the DataNode (perhaps because of append), it will begin the
    // uncaching process.  However, the uncaching process is not
    // instantaneous, especially if clients have pinned the block.  So
    // there may be a period of time when incomplete blocks remain cached
    // on the DataNodes.
    return "not complete";
  } else if (cblock.getReplication() == 0) {
    // Since 0 is not a valid value for a cache directive's replication
    // field, seeing a replication of 0 on a CacheBlock means that it
    // has never been reached by any sweep.
    return "not needed by any directives";
  } else if (cblock.getMark() != mark) { 
    // Although the block was needed in the past, we didn't reach it during
    // the current sweep.  Therefore, it doesn't need to be cached any more.
    // Need to set the replication to 0 so it doesn't flip back to cached
    // when the mark flips on the next scan
    cblock.setReplicationAndMark((short)0, mark);
    return "no longer needed by any directives";
  }
  return null;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:33,代码来源:CacheReplicationMonitor.java

示例2: findReasonForNotCaching

import org.apache.hadoop.hdfs.server.namenode.CachedBlock; //导入方法依赖的package包/类
private String findReasonForNotCaching(CachedBlock cblock,
    BlockInfo blockInfo) {
  if (blockInfo == null) {
    // Somehow, a cache report with the block arrived, but the block
    // reports from the DataNode haven't (yet?) described such a block.
    // Alternately, the NameNode might have invalidated the block, but the
    // DataNode hasn't caught up.  In any case, we want to tell the DN
    // to uncache this.
    return "not tracked by the BlockManager";
  } else if (!blockInfo.isComplete()) {
    // When a cached block changes state from complete to some other state
    // on the DataNode (perhaps because of append), it will begin the
    // uncaching process.  However, the uncaching process is not
    // instantaneous, especially if clients have pinned the block.  So
    // there may be a period of time when incomplete blocks remain cached
    // on the DataNodes.
    return "not complete";
  } else if (cblock.getReplication() == 0) {
    // Since 0 is not a valid value for a cache directive's replication
    // field, seeing a replication of 0 on a CacheBlock means that it
    // has never been reached by any sweep.
    return "not needed by any directives";
  } else if (cblock.getMark() != mark) { 
    // Although the block was needed in the past, we didn't reach it during
    // the current sweep.  Therefore, it doesn't need to be cached any more.
    // Need to set the replication to 0 so it doesn't flip back to cached
    // when the mark flips on the next scan
    cblock.setReplicationAndMark((short)0, mark);
    return "no longer needed by any directives";
  }
  return null;
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:33,代码来源:CacheReplicationMonitor.java

示例3: findReasonForNotCaching

import org.apache.hadoop.hdfs.server.namenode.CachedBlock; //导入方法依赖的package包/类
private String findReasonForNotCaching(CachedBlock cblock, 
        BlockInfo blockInfo) {
  if (blockInfo == null) {
    // Somehow, a cache report with the block arrived, but the block
    // reports from the DataNode haven't (yet?) described such a block.
    // Alternately, the NameNode might have invalidated the block, but the
    // DataNode hasn't caught up.  In any case, we want to tell the DN
    // to uncache this.
    return "not tracked by the BlockManager";
  } else if (!blockInfo.isComplete()) {
    // When a cached block changes state from complete to some other state
    // on the DataNode (perhaps because of append), it will begin the
    // uncaching process.  However, the uncaching process is not
    // instantaneous, especially if clients have pinned the block.  So
    // there may be a period of time when incomplete blocks remain cached
    // on the DataNodes.
    return "not complete";
  } else if (cblock.getReplication() == 0) {
    // Since 0 is not a valid value for a cache directive's replication
    // field, seeing a replication of 0 on a CacheBlock means that it
    // has never been reached by any sweep.
    return "not needed by any directives";
  } else if (cblock.getMark() != mark) { 
    // Although the block was needed in the past, we didn't reach it during
    // the current sweep.  Therefore, it doesn't need to be cached any more.
    // Need to set the replication to 0 so it doesn't flip back to cached
    // when the mark flips on the next scan
    cblock.setReplicationAndMark((short)0, mark);
    return "no longer needed by any directives";
  }
  return null;
}
 
开发者ID:Nextzero,项目名称:hadoop-2.6.0-cdh5.4.3,代码行数:33,代码来源:CacheReplicationMonitor.java


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