• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java RetryCache类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: initRetryCache

import org.apache.hadoop.ipc.RetryCache; //导入依赖的package包/类
@VisibleForTesting
static RetryCache initRetryCache(Configuration conf) {
  boolean enable = conf.getBoolean(DFS_NAMENODE_ENABLE_RETRY_CACHE_KEY,
                                   DFS_NAMENODE_ENABLE_RETRY_CACHE_DEFAULT);
  LOG.info("Retry cache on namenode is " + (enable ? "enabled" : "disabled"));
  if (enable) {
    float heapPercent = conf.getFloat(
        DFS_NAMENODE_RETRY_CACHE_HEAP_PERCENT_KEY,
        DFS_NAMENODE_RETRY_CACHE_HEAP_PERCENT_DEFAULT);
    long entryExpiryMillis = conf.getLong(
        DFS_NAMENODE_RETRY_CACHE_EXPIRYTIME_MILLIS_KEY,
        DFS_NAMENODE_RETRY_CACHE_EXPIRYTIME_MILLIS_DEFAULT);
    LOG.info("Retry cache will use " + heapPercent
        + " of total heap and retry cache entry expiry time is "
        + entryExpiryMillis + " millis");
    long entryExpiryNanos = entryExpiryMillis * 1000 * 1000;
    return new RetryCache("NameNodeRetryCache", heapPercent,
        entryExpiryNanos);
  }
  return null;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:22,代码来源:FSNamesystem.java


示例2: startCheckpoint

import org.apache.hadoop.ipc.RetryCache; //导入依赖的package包/类
@Override // NamenodeProtocol
public NamenodeCommand startCheckpoint(NamenodeRegistration registration)
    throws IOException {
  checkNNStartup();
  namesystem.checkSuperuserPrivilege();
  verifyRequest(registration);
  if(!nn.isRole(NamenodeRole.NAMENODE))
    throw new IOException("Only an ACTIVE node can invoke startCheckpoint.");

  CacheEntryWithPayload cacheEntry = RetryCache.waitForCompletion(retryCache,
    null);
  if (cacheEntry != null && cacheEntry.isSuccess()) {
    return (NamenodeCommand) cacheEntry.getPayload();
  }
  NamenodeCommand ret = null;
  try {
    ret = namesystem.startCheckpoint(registration, nn.setRegistration());
  } finally {
    RetryCache.setState(cacheEntry, ret != null, ret);
  }
  return ret;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:23,代码来源:NameNodeRpcServer.java


示例3: endCheckpoint

import org.apache.hadoop.ipc.RetryCache; //导入依赖的package包/类
@Override // NamenodeProtocol
public void endCheckpoint(NamenodeRegistration registration,
                          CheckpointSignature sig) throws IOException {
  checkNNStartup();
  namesystem.checkSuperuserPrivilege();
  CacheEntry cacheEntry = RetryCache.waitForCompletion(retryCache);
  if (cacheEntry != null && cacheEntry.isSuccess()) {
    return; // Return previous response
  }
  boolean success = false;
  try {
    namesystem.endCheckpoint(registration, sig);
    success = true;
  } finally {
    RetryCache.setState(cacheEntry, success);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:18,代码来源:NameNodeRpcServer.java


示例4: updatePipeline

import org.apache.hadoop.ipc.RetryCache; //导入依赖的package包/类
@Override // ClientProtocol
public void updatePipeline(String clientName, ExtendedBlock oldBlock,
    ExtendedBlock newBlock, DatanodeID[] newNodes, String[] newStorageIDs)
    throws IOException {
  checkNNStartup();
  CacheEntry cacheEntry = RetryCache.waitForCompletion(retryCache);
  if (cacheEntry != null && cacheEntry.isSuccess()) {
    return; // Return previous response
  }

  boolean success = false;
  try {
    namesystem.updatePipeline(clientName, oldBlock, newBlock, newNodes,
        newStorageIDs, cacheEntry != null);
    success = true;
  } finally {
    RetryCache.setState(cacheEntry, success);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:20,代码来源:NameNodeRpcServer.java


示例5: concat

import org.apache.hadoop.ipc.RetryCache; //导入依赖的package包/类
@Override // ClientProtocol
public void concat(String trg, String[] src) throws IOException {
  checkNNStartup();
  CacheEntry cacheEntry = RetryCache.waitForCompletion(retryCache);
  if (cacheEntry != null && cacheEntry.isSuccess()) {
    return; // Return previous response
  }
  boolean success = false;

  try {
    namesystem.concat(trg, src, cacheEntry != null);
    success = true;
  } finally {
    RetryCache.setState(cacheEntry, success);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:17,代码来源:NameNodeRpcServer.java


示例6: rename2

import org.apache.hadoop.ipc.RetryCache; //导入依赖的package包/类
@Override // ClientProtocol
public void rename2(String src, String dst, Options.Rename... options)
    throws IOException {
  checkNNStartup();
  if(stateChangeLog.isDebugEnabled()) {
    stateChangeLog.debug("*DIR* NameNode.rename: " + src + " to " + dst);
  }
  if (!checkPathLength(dst)) {
    throw new IOException("rename: Pathname too long.  Limit "
        + MAX_PATH_LENGTH + " characters, " + MAX_PATH_DEPTH + " levels.");
  }
  CacheEntry cacheEntry = RetryCache.waitForCompletion(retryCache);
  if (cacheEntry != null && cacheEntry.isSuccess()) {
    return; // Return previous response
  }
  boolean success = false;
  try {
    namesystem.renameTo(src, dst, cacheEntry != null, options);
    success = true;
  } finally {
    RetryCache.setState(cacheEntry, success);
  }
  metrics.incrFilesRenamed();
}
 
开发者ID:naver,项目名称:hadoop,代码行数:25,代码来源:NameNodeRpcServer.java


示例7: delete

import org.apache.hadoop.ipc.RetryCache; //导入依赖的package包/类
@Override // ClientProtocol
public boolean delete(String src, boolean recursive) throws IOException {
  checkNNStartup();
  if (stateChangeLog.isDebugEnabled()) {
    stateChangeLog.debug("*DIR* Namenode.delete: src=" + src
        + ", recursive=" + recursive);
  }
  CacheEntry cacheEntry = RetryCache.waitForCompletion(retryCache);
  if (cacheEntry != null && cacheEntry.isSuccess()) {
    return true; // Return previous response
  }

  boolean ret = false;
  try {
    ret = namesystem.delete(src, recursive, cacheEntry != null);
  } finally {
    RetryCache.setState(cacheEntry, ret);
  }
  if (ret) 
    metrics.incrDeleteFileOps();
  return ret;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:23,代码来源:NameNodeRpcServer.java


示例8: createSnapshot

import org.apache.hadoop.ipc.RetryCache; //导入依赖的package包/类
@Override
public String createSnapshot(String snapshotRoot, String snapshotName)
    throws IOException {
  checkNNStartup();
  if (!checkPathLength(snapshotRoot)) {
    throw new IOException("createSnapshot: Pathname too long.  Limit "
        + MAX_PATH_LENGTH + " characters, " + MAX_PATH_DEPTH + " levels.");
  }
  CacheEntryWithPayload cacheEntry = RetryCache.waitForCompletion(retryCache,
    null);
  if (cacheEntry != null && cacheEntry.isSuccess()) {
    return (String) cacheEntry.getPayload();
  }

  metrics.incrCreateSnapshotOps();
  String ret = null;
  try {
    ret = namesystem.createSnapshot(snapshotRoot, snapshotName,
        cacheEntry != null);
  } finally {
    RetryCache.setState(cacheEntry, ret != null, ret);
  }
  return ret;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:25,代码来源:NameNodeRpcServer.java


示例9: deleteSnapshot

import org.apache.hadoop.ipc.RetryCache; //导入依赖的package包/类
@Override
public void deleteSnapshot(String snapshotRoot, String snapshotName)
    throws IOException {
  checkNNStartup();
  metrics.incrDeleteSnapshotOps();
  CacheEntry cacheEntry = RetryCache.waitForCompletion(retryCache);
  if (cacheEntry != null && cacheEntry.isSuccess()) {
    return; // Return previous response
  }
  boolean success = false;
  try {
    namesystem.deleteSnapshot(snapshotRoot, snapshotName, cacheEntry != null);
    success = true;
  } finally {
    RetryCache.setState(cacheEntry, success);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:18,代码来源:NameNodeRpcServer.java


示例10: renameSnapshot

import org.apache.hadoop.ipc.RetryCache; //导入依赖的package包/类
@Override
// ClientProtocol
public void renameSnapshot(String snapshotRoot, String snapshotOldName,
    String snapshotNewName) throws IOException {
  checkNNStartup();
  if (snapshotNewName == null || snapshotNewName.isEmpty()) {
    throw new IOException("The new snapshot name is null or empty.");
  }
  metrics.incrRenameSnapshotOps();
  CacheEntry cacheEntry = RetryCache.waitForCompletion(retryCache);
  if (cacheEntry != null && cacheEntry.isSuccess()) {
    return; // Return previous response
  }
  boolean success = false;
  try {
    namesystem.renameSnapshot(snapshotRoot, snapshotOldName,
        snapshotNewName, cacheEntry != null);
    success = true;
  } finally {
    RetryCache.setState(cacheEntry, success);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:23,代码来源:NameNodeRpcServer.java


示例11: addCacheDirective

import org.apache.hadoop.ipc.RetryCache; //导入依赖的package包/类
@Override // ClientProtocol
public long addCacheDirective(
    CacheDirectiveInfo path, EnumSet<CacheFlag> flags) throws IOException {
  checkNNStartup();
  CacheEntryWithPayload cacheEntry = RetryCache.waitForCompletion
    (retryCache, null);
  if (cacheEntry != null && cacheEntry.isSuccess()) {
    return (Long) cacheEntry.getPayload();
  }

  boolean success = false;
  long ret = 0;
  try {
    ret = namesystem.addCacheDirective(path, flags, cacheEntry != null);
    success = true;
  } finally {
    RetryCache.setState(cacheEntry, success, ret);
  }
  return ret;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:21,代码来源:NameNodeRpcServer.java


示例12: modifyCacheDirective

import org.apache.hadoop.ipc.RetryCache; //导入依赖的package包/类
@Override // ClientProtocol
public void modifyCacheDirective(
    CacheDirectiveInfo directive, EnumSet<CacheFlag> flags) throws IOException {
  checkNNStartup();
  CacheEntry cacheEntry = RetryCache.waitForCompletion(retryCache);
  if (cacheEntry != null && cacheEntry.isSuccess()) {
    return;
  }

  boolean success = false;
  try {
    namesystem.modifyCacheDirective(directive, flags, cacheEntry != null);
    success = true;
  } finally {
    RetryCache.setState(cacheEntry, success);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:18,代码来源:NameNodeRpcServer.java


示例13: createEncryptionZone

import org.apache.hadoop.ipc.RetryCache; //导入依赖的package包/类
@Override // ClientProtocol
public void createEncryptionZone(String src, String keyName)
  throws IOException {
  checkNNStartup();
  final CacheEntry cacheEntry = RetryCache.waitForCompletion(retryCache);
  if (cacheEntry != null && cacheEntry.isSuccess()) {
    return;
  }
  boolean success = false;
  try {
    namesystem.createEncryptionZone(src, keyName, cacheEntry != null);
    success = true;
  } finally {
    RetryCache.setState(cacheEntry, success);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:17,代码来源:NameNodeRpcServer.java


示例14: setXAttr

import org.apache.hadoop.ipc.RetryCache; //导入依赖的package包/类
@Override // ClientProtocol
public void setXAttr(String src, XAttr xAttr, EnumSet<XAttrSetFlag> flag)
    throws IOException {
  checkNNStartup();
  CacheEntry cacheEntry = RetryCache.waitForCompletion(retryCache);
  if (cacheEntry != null && cacheEntry.isSuccess()) {
    return; // Return previous response
  }
  boolean success = false;
  try {
    namesystem.setXAttr(src, xAttr, flag, cacheEntry != null);
    success = true;
  } finally {
    RetryCache.setState(cacheEntry, success);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:17,代码来源:NameNodeRpcServer.java


示例15: updatePipeline

import org.apache.hadoop.ipc.RetryCache; //导入依赖的package包/类
@Override // ClientProtocol
public void updatePipeline(String clientName, ExtendedBlock oldBlock,
    ExtendedBlock newBlock, DatanodeID[] newNodes, String[] newStorageIDs)
    throws IOException {
  checkNNStartup();
  namesystem.checkOperation(OperationCategory.WRITE);
  CacheEntry cacheEntry = RetryCache.waitForCompletion(retryCache);
  if (cacheEntry != null && cacheEntry.isSuccess()) {
    return; // Return previous response
  }

  boolean success = false;
  try {
    namesystem.updatePipeline(clientName, oldBlock, newBlock, newNodes,
        newStorageIDs, cacheEntry != null);
    success = true;
  } finally {
    RetryCache.setState(cacheEntry, success);
  }
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:21,代码来源:NameNodeRpcServer.java


示例16: concat

import org.apache.hadoop.ipc.RetryCache; //导入依赖的package包/类
@Override // ClientProtocol
public void concat(String trg, String[] src) throws IOException {
  checkNNStartup();
  namesystem.checkOperation(OperationCategory.WRITE);
  CacheEntry cacheEntry = RetryCache.waitForCompletion(retryCache);
  if (cacheEntry != null && cacheEntry.isSuccess()) {
    return; // Return previous response
  }
  boolean success = false;

  try {
    namesystem.concat(trg, src, cacheEntry != null);
    success = true;
  } finally {
    RetryCache.setState(cacheEntry, success);
  }
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:18,代码来源:NameNodeRpcServer.java


示例17: rename2

import org.apache.hadoop.ipc.RetryCache; //导入依赖的package包/类
@Override // ClientProtocol
public void rename2(String src, String dst, Options.Rename... options)
    throws IOException {
  checkNNStartup();
  if(stateChangeLog.isDebugEnabled()) {
    stateChangeLog.debug("*DIR* NameNode.rename: " + src + " to " + dst);
  }
  if (!checkPathLength(dst)) {
    throw new IOException("rename: Pathname too long.  Limit "
        + MAX_PATH_LENGTH + " characters, " + MAX_PATH_DEPTH + " levels.");
  }
  namesystem.checkOperation(OperationCategory.WRITE);
  CacheEntry cacheEntry = RetryCache.waitForCompletion(retryCache);
  if (cacheEntry != null && cacheEntry.isSuccess()) {
    return; // Return previous response
  }
  boolean success = false;
  try {
    namesystem.renameTo(src, dst, cacheEntry != null, options);
    success = true;
  } finally {
    RetryCache.setState(cacheEntry, success);
  }
  metrics.incrFilesRenamed();
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:26,代码来源:NameNodeRpcServer.java


示例18: delete

import org.apache.hadoop.ipc.RetryCache; //导入依赖的package包/类
@Override // ClientProtocol
public boolean delete(String src, boolean recursive) throws IOException {
  checkNNStartup();
  if (stateChangeLog.isDebugEnabled()) {
    stateChangeLog.debug("*DIR* Namenode.delete: src=" + src
        + ", recursive=" + recursive);
  }
  namesystem.checkOperation(OperationCategory.WRITE);
  CacheEntry cacheEntry = RetryCache.waitForCompletion(retryCache);
  if (cacheEntry != null && cacheEntry.isSuccess()) {
    return true; // Return previous response
  }

  boolean ret = false;
  try {
    ret = namesystem.delete(src, recursive, cacheEntry != null);
  } finally {
    RetryCache.setState(cacheEntry, ret);
  }
  if (ret) 
    metrics.incrDeleteFileOps();
  return ret;
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:24,代码来源:NameNodeRpcServer.java


示例19: saveNamespace

import org.apache.hadoop.ipc.RetryCache; //导入依赖的package包/类
@Override // ClientProtocol
public boolean saveNamespace(long timeWindow, long txGap) throws IOException {
  checkNNStartup();
  CacheEntry cacheEntry = RetryCache.waitForCompletion(retryCache);
  if (cacheEntry != null && cacheEntry.isSuccess()) {
    return true; // Return previous response
  }
  boolean success = false;
  try {
    namesystem.saveNamespace(timeWindow, txGap);
    success = true;
  } finally {
    RetryCache.setState(cacheEntry, success);
  }
  return true;
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:17,代码来源:NameNodeRpcServer.java


示例20: createSnapshot

import org.apache.hadoop.ipc.RetryCache; //导入依赖的package包/类
@Override
public String createSnapshot(String snapshotRoot, String snapshotName)
    throws IOException {
  checkNNStartup();
  if (!checkPathLength(snapshotRoot)) {
    throw new IOException("createSnapshot: Pathname too long.  Limit "
        + MAX_PATH_LENGTH + " characters, " + MAX_PATH_DEPTH + " levels.");
  }
  namesystem.checkOperation(OperationCategory.WRITE);
  CacheEntryWithPayload cacheEntry = RetryCache.waitForCompletion(retryCache,
      null);
  if (cacheEntry != null && cacheEntry.isSuccess()) {
    return (String) cacheEntry.getPayload();
  }

  metrics.incrCreateSnapshotOps();
  String ret = null;
  try {
    ret = namesystem.createSnapshot(snapshotRoot, snapshotName,
        cacheEntry != null);
  } finally {
    RetryCache.setState(cacheEntry, ret != null, ret);
  }
  return ret;
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:26,代码来源:NameNodeRpcServer.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java MetaData类代码示例发布时间:2022-05-22
下一篇:
Java RepositoryConfigException类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap