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


Java Waitable.await方法代码示例

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


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

示例1: fetch

import org.apache.hadoop.util.Waitable; //导入方法依赖的package包/类
/**
 * Fetch an existing ReplicaInfo object.
 *
 * @param key       The key that we're using.
 * @param waitable  The waitable object to wait on.
 * @return          The existing ReplicaInfo object, or null if there is
 *                  none.
 *
 * @throws RetriableException   If the caller needs to retry.
 */
private ShortCircuitReplicaInfo fetch(ExtendedBlockId key,
    Waitable<ShortCircuitReplicaInfo> waitable) throws RetriableException {
  // Another thread is already in the process of loading this
  // ShortCircuitReplica.  So we simply wait for it to complete.
  ShortCircuitReplicaInfo info;
  try {
    if (LOG.isTraceEnabled()) {
      LOG.trace(this + ": found waitable for " + key);
    }
    info = waitable.await();
  } catch (InterruptedException e) {
    LOG.info(this + ": interrupted while waiting for " + key);
    Thread.currentThread().interrupt();
    throw new RetriableException("interrupted");
  }
  if (info.getInvalidTokenException() != null) {
    LOG.info(this + ": could not get " + key + " due to InvalidToken " +
          "exception.", info.getInvalidTokenException());
    return info;
  }
  ShortCircuitReplica replica = info.getReplica();
  if (replica == null) {
    LOG.warn(this + ": failed to get " + key);
    return info;
  }
  if (replica.purged) {
    // Ignore replicas that have already been purged from the cache.
    throw new RetriableException("Ignoring purged replica " +
        replica + ".  Retrying.");
  }
  // Check if the replica is stale before using it.
  // If it is, purge it and retry.
  if (replica.isStale()) {
    LOG.info(this + ": got stale replica " + replica + ".  Removing " +
        "this replica from the replicaInfoMap and retrying.");
    // Remove the cache's reference to the replica.  This may or may not
    // trigger a close.
    purge(replica);
    throw new RetriableException("ignoring stale replica " + replica);
  }
  ref(replica);
  return info;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:54,代码来源:ShortCircuitCache.java

示例2: fetch

import org.apache.hadoop.util.Waitable; //导入方法依赖的package包/类
/**
 * Fetch an existing ReplicaInfo object.
 *
 * @param key       The key that we're using.
 * @param waitable  The waitable object to wait on.
 * @return          The existing ReplicaInfo object, or null if there is
 *                  none.
 *
 * @throws RetriableException   If the caller needs to retry.
 */
private ShortCircuitReplicaInfo fetch(ExtendedBlockId key,
    Waitable<ShortCircuitReplicaInfo> waitable) throws RetriableException {
  // Another thread is already in the process of loading this
  // ShortCircuitReplica.  So we simply wait for it to complete.
  ShortCircuitReplicaInfo info;
  try {
    LOG.trace("{}: found waitable for {}", this, key);
    info = waitable.await();
  } catch (InterruptedException e) {
    LOG.info(this + ": interrupted while waiting for " + key);
    Thread.currentThread().interrupt();
    throw new RetriableException("interrupted");
  }
  if (info.getInvalidTokenException() != null) {
    LOG.info(this + ": could not get " + key + " due to InvalidToken " +
        "exception.", info.getInvalidTokenException());
    return info;
  }
  ShortCircuitReplica replica = info.getReplica();
  if (replica == null) {
    LOG.warn(this + ": failed to get " + key);
    return info;
  }
  if (replica.purged) {
    // Ignore replicas that have already been purged from the cache.
    throw new RetriableException("Ignoring purged replica " +
        replica + ".  Retrying.");
  }
  // Check if the replica is stale before using it.
  // If it is, purge it and retry.
  if (replica.isStale()) {
    LOG.info(this + ": got stale replica " + replica + ".  Removing " +
        "this replica from the replicaInfoMap and retrying.");
    // Remove the cache's reference to the replica.  This may or may not
    // trigger a close.
    purge(replica);
    throw new RetriableException("ignoring stale replica " + replica);
  }
  ref(replica);
  return info;
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:52,代码来源:ShortCircuitCache.java

示例3: fetch

import org.apache.hadoop.util.Waitable; //导入方法依赖的package包/类
/**
 * Fetch an existing ReplicaInfo object.
 *
 * @param key       The key that we're using.
 * @param waitable  The waitable object to wait on.
 * @return          The existing ReplicaInfo object, or null if there is
 *                  none.
 *
 * @throws RetriableException   If the caller needs to retry.
 */
private ShortCircuitReplicaInfo fetch(ExtendedBlockId key,
    Waitable<ShortCircuitReplicaInfo> waitable) throws RetriableException {
  // Another thread is already in the process of loading this
  // ShortCircuitReplica.  So we simply wait for it to complete.
  ShortCircuitReplicaInfo info;
  try {
    if (LOG.isTraceEnabled()) {
      LOG.trace(this + ": found waitable for " + key);
    }
    info = waitable.await();
  } catch (InterruptedException e) {
    LOG.info(this + ": interrupted while waiting for " + key);
    Thread.currentThread().interrupt();
    throw new RetriableException("interrupted");
  }
  if (info.getInvalidTokenException() != null) {
    LOG.warn(this + ": could not get " + key + " due to InvalidToken " +
          "exception.", info.getInvalidTokenException());
    return info;
  }
  ShortCircuitReplica replica = info.getReplica();
  if (replica == null) {
    LOG.warn(this + ": failed to get " + key);
    return info;
  }
  if (replica.purged) {
    // Ignore replicas that have already been purged from the cache.
    throw new RetriableException("Ignoring purged replica " +
        replica + ".  Retrying.");
  }
  // Check if the replica is stale before using it.
  // If it is, purge it and retry.
  if (replica.isStale()) {
    LOG.info(this + ": got stale replica " + replica + ".  Removing " +
        "this replica from the replicaInfoMap and retrying.");
    // Remove the cache's reference to the replica.  This may or may not
    // trigger a close.
    purge(replica);
    throw new RetriableException("ignoring stale replica " + replica);
  }
  ref(replica);
  return info;
}
 
开发者ID:Nextzero,项目名称:hadoop-2.6.0-cdh5.4.3,代码行数:54,代码来源:ShortCircuitCache.java


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