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


Java ExceptionUtil.isInterrupt方法代码示例

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


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

示例1: handleConnectionFailure

import org.apache.hadoop.hbase.util.ExceptionUtil; //导入方法依赖的package包/类
/**
 *  Handle connection failures
 *
 * If the current number of retries is equal to the max number of retries,
 * stop retrying and throw the exception; Otherwise backoff N seconds and
 * try connecting again.
 *
 * This Method is only called from inside setupIOstreams(), which is
 * synchronized. Hence the sleep is synchronized; the locks will be retained.
 *
 * @param curRetries current number of retries
 * @param maxRetries max number of retries allowed
 * @param ioe failure reason
 * @throws IOException if max number of retries is reached
 */
private void handleConnectionFailure(int curRetries, int maxRetries, IOException ioe)
throws IOException {
  closeConnection();

  // throw the exception if the maximum number of retries is reached
  if (curRetries >= maxRetries || ExceptionUtil.isInterrupt(ioe)) {
    throw ioe;
  }

  // otherwise back off and retry
  try {
    Thread.sleep(failureSleep);
  } catch (InterruptedException ie) {
    ExceptionUtil.rethrowIfInterrupt(ie);
  }

  LOG.info("Retrying connect to server: " + remoteId.getAddress() +
    " after sleeping " + failureSleep + "ms. Already tried " + curRetries +
    " time(s).");
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:36,代码来源:RpcClientImpl.java

示例2: handleConnectionFailure

import org.apache.hadoop.hbase.util.ExceptionUtil; //导入方法依赖的package包/类
/**
 * Handle connection failures If the current number of retries is equal to the max number of
 * retries, stop retrying and throw the exception; Otherwise backoff N seconds and try connecting
 * again. This Method is only called from inside setupIOstreams(), which is synchronized. Hence
 * the sleep is synchronized; the locks will be retained.
 * @param curRetries current number of retries
 * @param maxRetries max number of retries allowed
 * @param ioe failure reason
 * @throws IOException if max number of retries is reached
 */
private void handleConnectionFailure(int curRetries, int maxRetries, IOException ioe)
    throws IOException {
  closeSocket();

  // throw the exception if the maximum number of retries is reached
  if (curRetries >= maxRetries || ExceptionUtil.isInterrupt(ioe)) {
    throw ioe;
  }

  // otherwise back off and retry
  try {
    Thread.sleep(this.rpcClient.failureSleep);
  } catch (InterruptedException ie) {
    ExceptionUtil.rethrowIfInterrupt(ie);
  }

  if (LOG.isInfoEnabled()) {
    LOG.info("Retrying connect to server: " + remoteId.getAddress() +
      " after sleeping " + this.rpcClient.failureSleep + "ms. Already tried " + curRetries +
      " time(s).");
  }
}
 
开发者ID:apache,项目名称:hbase,代码行数:33,代码来源:BlockingRpcConnection.java

示例3: run

import org.apache.hadoop.hbase.util.ExceptionUtil; //导入方法依赖的package包/类
@Override
public void run() {
  try {
    LOG.info("SplitLogWorker " + server.getServerName() + " starting");
    coordination.registerListener();
    // wait for Coordination Engine is ready
    boolean res = false;
    while (!res && !coordination.isStop()) {
      res = coordination.isReady();
    }
    if (!coordination.isStop()) {
      coordination.taskLoop();
    }
  } catch (Throwable t) {
    if (ExceptionUtil.isInterrupt(t)) {
      LOG.info("SplitLogWorker interrupted. Exiting. " + (coordination.isStop() ? "" :
          " (ERROR: exitWorker is not set, exiting anyway)"));
    } else {
      // only a logical error can cause here. Printing it out
      // to make debugging easier
      LOG.error("unexpected error ", t);
    }
  } finally {
    coordination.removeListener();
    LOG.info("SplitLogWorker " + server.getServerName() + " exiting");
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:28,代码来源:SplitLogWorker.java

示例4: getRemoteException

import org.apache.hadoop.hbase.util.ExceptionUtil; //导入方法依赖的package包/类
/**
 * Return the IOException thrown by the remote server wrapped in
 * ServiceException as cause.
 *
 * @param se ServiceException that wraps IO exception thrown by the server
 * @return Exception wrapped in ServiceException or
 *   a new IOException that wraps the unexpected ServiceException.
 */
public static IOException getRemoteException(ServiceException se) {
  Throwable e = se.getCause();
  if (e == null) {
    return new IOException(se);
  }
  if (ExceptionUtil.isInterrupt(e)) {
    return ExceptionUtil.asInterrupt(e);
  }
  if (e instanceof RemoteException) {
    e = ((RemoteException) e).unwrapRemoteException();
  }
  return e instanceof IOException ? (IOException) e : new IOException(se);
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:22,代码来源:ProtobufUtil.java

示例5: setFailed

import org.apache.hadoop.hbase.util.ExceptionUtil; //导入方法依赖的package包/类
/**
 * Set failed
 *
 * @param exception to set
 */
public void setFailed(IOException exception) {
  if (ExceptionUtil.isInterrupt(exception)) {
    exception = ExceptionUtil.asInterrupt(exception);
  }
  if (exception instanceof RemoteException) {
    exception = ((RemoteException) exception).unwrapRemoteException();
  }

  this.setFailure(exception);
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:16,代码来源:AsyncCall.java

示例6: getServiceException

import org.apache.hadoop.hbase.util.ExceptionUtil; //导入方法依赖的package包/类
/**
 * Return the Exception thrown by the remote server wrapped in
 * ServiceException as cause. RemoteException are left untouched.
 *
 * @param e ServiceException that wraps IO exception thrown by the server
 * @return Exception wrapped in ServiceException.
 */
public static IOException getServiceException(org.apache.hbase.thirdparty.com.google.protobuf.ServiceException e) {
  Throwable t = e.getCause();
  if (ExceptionUtil.isInterrupt(t)) {
    return ExceptionUtil.asInterrupt(t);
  }
  return t instanceof IOException ? (IOException) t : new HBaseIOException(t);
}
 
开发者ID:apache,项目名称:hbase,代码行数:15,代码来源:ProtobufUtil.java

示例7: makeIOExceptionOfException

import org.apache.hadoop.hbase.util.ExceptionUtil; //导入方法依赖的package包/类
private static IOException makeIOExceptionOfException(Exception e) {
  Throwable t = e;
  if (e instanceof ServiceException ||
      e instanceof org.apache.hbase.thirdparty.com.google.protobuf.ServiceException) {
    t = e.getCause();
  }
  if (ExceptionUtil.isInterrupt(t)) {
    return ExceptionUtil.asInterrupt(t);
  }
  if (t instanceof RemoteException) {
    t = ((RemoteException)t).unwrapRemoteException();
  }
  return t instanceof IOException? (IOException)t: new HBaseIOException(t);
}
 
开发者ID:apache,项目名称:hbase,代码行数:15,代码来源:ProtobufUtil.java

示例8: makeIOExceptionOfException

import org.apache.hadoop.hbase.util.ExceptionUtil; //导入方法依赖的package包/类
private static IOException makeIOExceptionOfException(Exception e) {
  Throwable t = e;
  if (e instanceof ServiceException) {
    t = e.getCause();
  }
  if (ExceptionUtil.isInterrupt(t)) {
    return ExceptionUtil.asInterrupt(t);
  }
  if (t instanceof RemoteException) {
    t = ((RemoteException)t).unwrapRemoteException();
  }
  return t instanceof IOException? (IOException)t: new HBaseIOException(t);
}
 
开发者ID:apache,项目名称:hbase,代码行数:14,代码来源:ProtobufUtil.java

示例9: run

import org.apache.hadoop.hbase.util.ExceptionUtil; //导入方法依赖的package包/类
@Override
public void run() {
  try {
    LOG.info("SplitLogWorker " + this.serverName + " starting");
    this.watcher.registerListener(this);
    boolean distributedLogReplay = HLogSplitter.isDistributedLogReplay(conf);
    if (distributedLogReplay) {
      // initialize a new connection for splitlogworker configuration
      HConnectionManager.getConnection(conf);
    }

    // wait for master to create the splitLogZnode
    int res = -1;
    while (res == -1 && !exitWorker) {
      try {
        res = ZKUtil.checkExists(watcher, watcher.splitLogZNode);
      } catch (KeeperException e) {
        // ignore
        LOG.warn("Exception when checking for " + watcher.splitLogZNode  + " ... retrying", e);
      }
      if (res == -1) {
        LOG.info(watcher.splitLogZNode + " znode does not exist, waiting for master to create");
        Thread.sleep(1000);
      }
    }

    if (!exitWorker) {
        taskLoop();
    }
  } catch (Throwable t) {
    if (ExceptionUtil.isInterrupt(t)) {
      LOG.info("SplitLogWorker interrupted. Exiting. " + (exitWorker ? "" :
          " (ERROR: exitWorker is not set, exiting anyway)"));
    } else {
      // only a logical error can cause here. Printing it out
      // to make debugging easier
      LOG.error("unexpected error ", t);
    }
  } finally {
    LOG.info("SplitLogWorker " + this.serverName + " exiting");
  }
}
 
开发者ID:shenli-uiuc,项目名称:PyroDB,代码行数:43,代码来源:SplitLogWorker.java


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