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


Java StandbyException类代码示例

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


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

示例1: testSuccedsOnceThenFailOver

import org.apache.hadoop.ipc.StandbyException; //导入依赖的package包/类
@Test
public void testSuccedsOnceThenFailOver() throws UnreliableException,
    IOException, StandbyException {
  UnreliableInterface unreliable = (UnreliableInterface)RetryProxy.create(
      UnreliableInterface.class, newFlipFlopProxyProvider(),
      new FailOverOnceOnAnyExceptionPolicy());
  
  assertEquals("impl1", unreliable.succeedsOnceThenFailsReturningString());
  assertEquals("impl2", unreliable.succeedsOnceThenFailsReturningString());
  try {
    unreliable.succeedsOnceThenFailsReturningString();
    fail("should not have succeeded more than twice");
  } catch (UnreliableException e) {
    // expected
  }
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:17,代码来源:TestFailoverProxy.java

示例2: testNeverFailOver

import org.apache.hadoop.ipc.StandbyException; //导入依赖的package包/类
@Test
public void testNeverFailOver() throws UnreliableException,
    IOException, StandbyException {
  UnreliableInterface unreliable = (UnreliableInterface)RetryProxy.create(
      UnreliableInterface.class,
      newFlipFlopProxyProvider(),
      RetryPolicies.TRY_ONCE_THEN_FAIL);

  unreliable.succeedsOnceThenFailsReturningString();
  try {
    unreliable.succeedsOnceThenFailsReturningString();
    fail("should not have succeeded twice");
  } catch (UnreliableException e) {
    assertEquals("impl1", e.getMessage());
  }
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:17,代码来源:TestFailoverProxy.java

示例3: testFailoverOnNetworkExceptionIdempotentOperation

import org.apache.hadoop.ipc.StandbyException; //导入依赖的package包/类
@Test
public void testFailoverOnNetworkExceptionIdempotentOperation()
    throws UnreliableException, IOException, StandbyException {
  UnreliableInterface unreliable = (UnreliableInterface)RetryProxy.create(
      UnreliableInterface.class,
      newFlipFlopProxyProvider(
          TypeOfExceptionToFailWith.IO_EXCEPTION,
          TypeOfExceptionToFailWith.UNRELIABLE_EXCEPTION),
      RetryPolicies.failoverOnNetworkException(1));
  
  assertEquals("impl1", unreliable.succeedsOnceThenFailsReturningString());
  try {
    unreliable.succeedsOnceThenFailsReturningString();
    fail("should not have succeeded twice");
  } catch (IOException e) {
    // Make sure we *don't* fail over since the first implementation threw an
    // IOException and this method is not idempotent
    assertEquals("impl1", e.getMessage());
  }
  
  assertEquals("impl1", unreliable.succeedsOnceThenFailsReturningStringIdempotent());
  // Make sure we fail over since the first implementation threw an
  // IOException and this method is idempotent.
  assertEquals("impl2", unreliable.succeedsOnceThenFailsReturningStringIdempotent());
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:26,代码来源:TestFailoverProxy.java

示例4: refreshQueues

import org.apache.hadoop.ipc.StandbyException; //导入依赖的package包/类
@Override
public RefreshQueuesResponse refreshQueues(RefreshQueuesRequest request)
    throws YarnException, StandbyException {
  String argName = "refreshQueues";
  final String msg = "refresh queues.";
  UserGroupInformation user = checkAcls(argName);

  checkRMStatus(user.getShortUserName(), argName, msg);

  RefreshQueuesResponse response =
      recordFactory.newRecordInstance(RefreshQueuesResponse.class);
  try {
    rmContext.getScheduler().reinitialize(getConfig(), this.rmContext);
    // refresh the reservation system
    ReservationSystem rSystem = rmContext.getReservationSystem();
    if (rSystem != null) {
      rSystem.reinitialize(getConfig(), rmContext);
    }
    RMAuditLogger.logSuccess(user.getShortUserName(), argName,
        "AdminService");
    return response;
  } catch (IOException ioe) {
    throw logAndWrapException(ioe, user.getShortUserName(), argName, msg);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:26,代码来源:AdminService.java

示例5: refreshNodes

import org.apache.hadoop.ipc.StandbyException; //导入依赖的package包/类
@Override
public RefreshNodesResponse refreshNodes(RefreshNodesRequest request)
    throws YarnException, StandbyException {
  String argName = "refreshNodes";
  final String msg = "refresh nodes.";
  UserGroupInformation user = checkAcls("refreshNodes");

  checkRMStatus(user.getShortUserName(), argName, msg);

  try {
    Configuration conf =
        getConfiguration(new Configuration(false),
            YarnConfiguration.YARN_SITE_CONFIGURATION_FILE);
    rmContext.getNodesListManager().refreshNodes(conf);
    RMAuditLogger.logSuccess(user.getShortUserName(), argName,
        "AdminService");
    return recordFactory.newRecordInstance(RefreshNodesResponse.class);
  } catch (IOException ioe) {
    throw logAndWrapException(ioe, user.getShortUserName(), argName, msg);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:22,代码来源:AdminService.java

示例6: retrievePassword

import org.apache.hadoop.ipc.StandbyException; //导入依赖的package包/类
@Override
public byte[] retrievePassword(
    DelegationTokenIdentifier identifier) throws InvalidToken {
  try {
    // this check introduces inconsistency in the authentication to a
    // HA standby NN.  non-token auths are allowed into the namespace which
    // decides whether to throw a StandbyException.  tokens are a bit
    // different in that a standby may be behind and thus not yet know
    // of all tokens issued by the active NN.  the following check does
    // not allow ANY token auth, however it should allow known tokens in
    namesystem.checkOperation(OperationCategory.READ);
  } catch (StandbyException se) {
    // FIXME: this is a hack to get around changing method signatures by
    // tunneling a non-InvalidToken exception as the cause which the
    // RPC server will unwrap before returning to the client
    InvalidToken wrappedStandby = new InvalidToken("StandbyException");
    wrappedStandby.initCause(se);
    throw wrappedStandby;
  }
  return super.retrievePassword(identifier);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:22,代码来源:DelegationTokenSecretManager.java

示例7: retriableRetrievePassword

import org.apache.hadoop.ipc.StandbyException; //导入依赖的package包/类
@Override
public byte[] retriableRetrievePassword(DelegationTokenIdentifier identifier)
    throws InvalidToken, StandbyException, RetriableException, IOException {
  namesystem.checkOperation(OperationCategory.READ);
  try {
    return super.retrievePassword(identifier);
  } catch (InvalidToken it) {
    if (namesystem.inTransitionToActive()) {
      // if the namesystem is currently in the middle of transition to 
      // active state, let client retry since the corresponding editlog may 
      // have not been applied yet
      throw new RetriableException(it);
    } else {
      throw it;
    }
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:18,代码来源:DelegationTokenSecretManager.java

示例8: datanodeReport

import org.apache.hadoop.ipc.StandbyException; //导入依赖的package包/类
DatanodeInfo[] datanodeReport(final DatanodeReportType type
    ) throws AccessControlException, StandbyException {
  checkSuperuserPrivilege();
  checkOperation(OperationCategory.UNCHECKED);
  readLock();
  try {
    checkOperation(OperationCategory.UNCHECKED);
    final DatanodeManager dm = getBlockManager().getDatanodeManager();      
    final List<DatanodeDescriptor> results = dm.getDatanodeListForReport(type);

    DatanodeInfo[] arr = new DatanodeInfo[results.size()];
    for (int i=0; i<arr.length; i++) {
      arr[i] = new DatanodeInfo(results.get(i));
    }
    return arr;
  } finally {
    readUnlock();
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:20,代码来源:FSNamesystem.java

示例9: getDatanodeStorageReport

import org.apache.hadoop.ipc.StandbyException; //导入依赖的package包/类
DatanodeStorageReport[] getDatanodeStorageReport(final DatanodeReportType type
    ) throws AccessControlException, StandbyException {
  checkSuperuserPrivilege();
  checkOperation(OperationCategory.UNCHECKED);
  readLock();
  try {
    checkOperation(OperationCategory.UNCHECKED);
    final DatanodeManager dm = getBlockManager().getDatanodeManager();      
    final List<DatanodeDescriptor> datanodes = dm.getDatanodeListForReport(type);

    DatanodeStorageReport[] reports = new DatanodeStorageReport[datanodes.size()];
    for (int i = 0; i < reports.length; i++) {
      final DatanodeDescriptor d = datanodes.get(i);
      reports[i] = new DatanodeStorageReport(new DatanodeInfo(d),
          d.getStorageReports());
    }
    return reports;
  } finally {
    readUnlock();
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:22,代码来源:FSNamesystem.java

示例10: restoreFailedStorage

import org.apache.hadoop.ipc.StandbyException; //导入依赖的package包/类
/**
 * Enables/Disables/Checks restoring failed storage replicas if the storage becomes available again.
 * Requires superuser privilege.
 * 
 * @throws AccessControlException if superuser privilege is violated.
 */
boolean restoreFailedStorage(String arg) throws AccessControlException,
    StandbyException {
  checkSuperuserPrivilege();
  checkOperation(OperationCategory.UNCHECKED);
  cpLock();  // Block if a checkpointing is in progress on standby.
  writeLock();
  try {
    checkOperation(OperationCategory.UNCHECKED);
    
    // if it is disabled - enable it and vice versa.
    if(arg.equals("check"))
      return getFSImage().getStorage().getRestoreFailedStorage();
    
    boolean val = arg.equals("true");  // false if not
    getFSImage().getStorage().setRestoreFailedStorage(val);
    
    return val;
  } finally {
    writeUnlock();
    cpUnlock();
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:29,代码来源:FSNamesystem.java

示例11: isAtLeastOneActive

import org.apache.hadoop.ipc.StandbyException; //导入依赖的package包/类
/**
 * Used to ensure that at least one of the given HA NNs is currently in the
 * active state..
 * 
 * @param namenodes list of RPC proxies for each NN to check.
 * @return true if at least one NN is active, false if all are in the standby state.
 * @throws IOException in the event of error.
 */
public static boolean isAtLeastOneActive(List<ClientProtocol> namenodes)
    throws IOException {
  for (ClientProtocol namenode : namenodes) {
    try {
      namenode.getFileInfo("/");
      return true;
    } catch (RemoteException re) {
      IOException cause = re.unwrapRemoteException();
      if (cause instanceof StandbyException) {
        // This is expected to happen for a standby NN.
      } else {
        throw re;
      }
    }
  }
  return false;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:26,代码来源:HAUtil.java

示例12: triggerActiveLogRoll

import org.apache.hadoop.ipc.StandbyException; //导入依赖的package包/类
/**
 * Trigger the active node to roll its logs.
 */
private void triggerActiveLogRoll() {
  LOG.info("Triggering log roll on remote NameNode");
  try {
    new MultipleNameNodeProxy<Void>() {
      @Override
      protected Void doWork() throws IOException {
        cachedActiveProxy.rollEditLog();
        return null;
      }
    }.call();
    lastRollTriggerTxId = lastLoadedTxnId;
  } catch (IOException ioe) {
    if (ioe instanceof RemoteException) {
      ioe = ((RemoteException)ioe).unwrapRemoteException();
      if (ioe instanceof StandbyException) {
        LOG.info("Skipping log roll. Remote node is not in Active state: " +
            ioe.getMessage().split("\n")[0]);
        return;
      }
    }

    LOG.warn("Unable to trigger a roll of the active NN", ioe);
  }
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:28,代码来源:EditLogTailer.java

示例13: call

import org.apache.hadoop.ipc.StandbyException; //导入依赖的package包/类
public T call() throws IOException {
  while ((cachedActiveProxy = getActiveNodeProxy()) != null) {
    try {
      T ret = doWork();
      // reset the loop count on success
      nnLoopCount = 0;
      return ret;
    } catch (RemoteException e) {
      Throwable cause = e.unwrapRemoteException(StandbyException.class);
      // if its not a standby exception, then we need to re-throw it, something bad has happened
      if (cause == e) {
        throw e;
      } else {
        // it is a standby exception, so we try the other NN
        LOG.warn("Failed to reach remote node: " + currentNN
            + ", retrying with remaining remote NNs");
        cachedActiveProxy = null;
        // this NN isn't responding to requests, try the next one
        nnLoopCount++;
      }
    }
  }
  throw new IOException("Cannot find any valid remote NN to service request!");
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:25,代码来源:EditLogTailer.java

示例14: invoke

import org.apache.hadoop.ipc.StandbyException; //导入依赖的package包/类
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
    AtomicLong counter = opCounter.apply(method);
    Preconditions.checkState(counter != null);
    long current = counter.getAndIncrement();
    try {
        if (current > threshold) {
            NNProxy.proxyMetrics.throttledOps.incr();
            throw new StandbyException("Too many requests (" + current + "/" + threshold + "), try later");
        }
        Object ret = method.invoke(underlying, args);
        NNProxy.proxyMetrics.successOps.incr();
        return ret;
    } catch (InvocationTargetException e) {
        NNProxy.proxyMetrics.failedOps.incr();
        throw e.getCause();
    } finally {
        counter.decrementAndGet();
    }
}
 
开发者ID:bytedance,项目名称:nnproxy,代码行数:21,代码来源:ThrottleInvocationHandler.java

示例15: isWrappedStandbyException

import org.apache.hadoop.ipc.StandbyException; //导入依赖的package包/类
private static boolean isWrappedStandbyException(Exception e) {
  if (!(e instanceof RemoteException)) {
    return false;
  }
  Exception unwrapped = ((RemoteException)e).unwrapRemoteException(
      StandbyException.class);
  return unwrapped instanceof StandbyException;
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:9,代码来源:RetryPolicies.java


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