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


Java ScanRequest.hasScannerId方法代码示例

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


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

示例1: getDeadline

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest; //导入方法依赖的package包/类
/**
 * Based on the request content, returns the deadline of the request.
 *
 * @param header
 * @param param
 * @return Deadline of this request. 0 now, otherwise msec of 'delay'
 */
@Override
public long getDeadline(RequestHeader header, Message param) {
  if (param instanceof ScanRequest) {
    ScanRequest request = (ScanRequest)param;
    if (!request.hasScannerId()) {
      return 0;
    }

    // get the 'virtual time' of the scanner, and applies sqrt() to get a
    // nice curve for the delay. More a scanner is used the less priority it gets.
    // The weight is used to have more control on the delay.
    long vtime = rpcServices.getScannerVirtualTime(request.getScannerId());
    return Math.round(Math.sqrt(vtime * scanVirtualTimeWeight));
  }
  return 0;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:24,代码来源:AnnotationReadingPriorityFunction.java

示例2: scan

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest; //导入方法依赖的package包/类
@Override
public ScanResponse scan(final RpcController controller, final ScanRequest request)
    throws ServiceException {
  if (request.hasScannerId()) {
    ScanResponse scanResponse = super.scan(controller, request);
    if (this.tableScannerId == request.getScannerId() && 
        (sleepAlways || (!slept && seqNoToSleepOn == request.getNextCallSeq()))) {
      try {
        LOG.info("SLEEPING " + (rpcTimeout + 500));
        Thread.sleep(rpcTimeout + 500);
      } catch (InterruptedException e) {
      }
      slept = true;
      tryNumber++;
      if (tryNumber > 2 * CLIENT_RETRIES_NUMBER) {
        sleepAlways = false;
      }
    }
    return scanResponse;
  } else {
    ScanResponse scanRes = super.scan(controller, request);
    String regionName = Bytes.toString(request.getRegion().getValue().toByteArray());
    if (!regionName.contains(TableName.META_TABLE_NAME.getNameAsString())) {
      tableScannerId = scanRes.getScannerId();
    }
    return scanRes;
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:29,代码来源:TestClientScannerRPCTimeout.java

示例3: getDeadline

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest; //导入方法依赖的package包/类
/**
 * Based on the request content, returns the deadline of the request.
 *
 * @param header
 * @param param
 * @return Deadline of this request. 0 now, otherwise msec of 'delay'
 */
@Override
public long getDeadline(RequestHeader header, Message param) {
  String methodName = header.getMethodName();
  if (methodName.equalsIgnoreCase("scan")) {
    ScanRequest request = (ScanRequest)param;
    if (!request.hasScannerId()) {
      return 0;
    }

    // get the 'virtual time' of the scanner, and applies sqrt() to get a
    // nice curve for the delay. More a scanner is used the less priority it gets.
    // The weight is used to have more control on the delay.
    long vtime = rpcServices.getScannerVirtualTime(request.getScannerId());
    return Math.round(Math.sqrt(vtime * scanVirtualTimeWeight));
  }
  return 0;
}
 
开发者ID:grokcoder,项目名称:pbase,代码行数:25,代码来源:AnnotationReadingPriorityFunction.java

示例4: isScanRequest

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest; //导入方法依赖的package包/类
private boolean isScanRequest(final RequestHeader header, final Message param) {
  if (param instanceof ScanRequest) {
    // The first scan request will be executed as a "short read"
    ScanRequest request = (ScanRequest)param;
    return request.hasScannerId();
  }
  return false;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:9,代码来源:RWQueueRpcExecutor.java

示例5: isScanRequest

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest; //导入方法依赖的package包/类
private boolean isScanRequest(final RequestHeader header, final Message param) {
  String methodName = header.getMethodName();
  if (methodName.equalsIgnoreCase("scan")) {
    // The first scan request will be executed as a "short read"
    ScanRequest request = (ScanRequest)param;
    return request.hasScannerId();
  }
  return false;
}
 
开发者ID:grokcoder,项目名称:pbase,代码行数:10,代码来源:RWQueueRpcExecutor.java

示例6: scan

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest; //导入方法依赖的package包/类
@Override
public ScanResponse scan(final RpcController controller, final ScanRequest request)
    throws ServiceException {
  if (request.hasScannerId()) {
    ScanResponse scanResponse = super.scan(controller, request);
    if (this.tableScannerId == request.getScannerId() && 
        (sleepAlways || (!slept && seqNoToSleepOn == request.getNextCallSeq()))) {
      try {
        Thread.sleep(rpcTimeout + 500);
      } catch (InterruptedException e) {
      }
      slept = true;
      tryNumber++;
      if (tryNumber > 2 * CLIENT_RETRIES_NUMBER) {
        sleepAlways = false;
      }
    }
    return scanResponse;
  } else {
    ScanResponse scanRes = super.scan(controller, request);
    String regionName = Bytes.toString(request.getRegion().getValue().toByteArray());
    if (!regionName.contains("-ROOT-") && !regionName.contains(".META.")) {
      tableScannerId = scanRes.getScannerId();
    }
    return scanRes;
  }
}
 
开发者ID:daidong,项目名称:DominoHBase,代码行数:28,代码来源:TestClientScannerRPCTimeout.java

示例7: apply

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest; //导入方法依赖的package包/类
@Override
public Integer apply(RpcRequestBody from) {
  String methodName = from.getMethodName();
  Class<? extends Message> rpcArgClass = null;
  if (from.hasRequestClassName()) {
    String cls = from.getRequestClassName();
    rpcArgClass = argumentToClassMap.get(cls);
  }

  Integer priorityByAnnotation = annotatedQos.get(methodName);
  if (priorityByAnnotation != null) {
    return priorityByAnnotation;
  }

  if (rpcArgClass == null || from.getRequest().isEmpty()) {
    return HConstants.NORMAL_QOS;
  }
  Object deserializedRequestObj;
  //check whether the request has reference to Meta region
  try {
    Method parseFrom = methodMap.get("parseFrom").get(rpcArgClass);
    deserializedRequestObj = parseFrom.invoke(null, from.getRequest());
    Method getRegion = methodMap.get("getRegion").get(rpcArgClass);
    RegionSpecifier regionSpecifier =
        (RegionSpecifier)getRegion.invoke(deserializedRequestObj,
            (Object[])null);
    HRegion region = hRegionServer.getRegion(regionSpecifier);
    if (region.getRegionInfo().isMetaRegion()) {
      if (LOG.isDebugEnabled()) {
        LOG.debug("High priority: " + from.toString());
      }
      return HConstants.HIGH_QOS;
    }
  } catch (Exception ex) {
    throw new RuntimeException(ex);
  }

  if (methodName.equals("scan")) { // scanner methods...
    ScanRequest request = (ScanRequest)deserializedRequestObj;
    if (!request.hasScannerId()) {
      return HConstants.NORMAL_QOS;
    }
    RegionScanner scanner = hRegionServer.getScanner(request.getScannerId());
    if (scanner != null && scanner.getRegionInfo().isMetaRegion()) {
      if (LOG.isDebugEnabled()) {
        LOG.debug("High priority scanner request: " + request.getScannerId());
      }
      return HConstants.HIGH_QOS;
    }
  }
  if (LOG.isDebugEnabled()) {
    LOG.debug("Low priority: " + from.toString());
  }
  return HConstants.NORMAL_QOS;
}
 
开发者ID:daidong,项目名称:DominoHBase,代码行数:56,代码来源:HRegionServer.java


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