• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Java MultiResponse类的典型用法和代码示例

java 1次浏览

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

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

示例1: buildMultiResponse

点赞 3

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse; //导入依赖的package包/类
private MultiResponse buildMultiResponse(MultiRequest req) {
  MultiResponse.Builder builder = MultiResponse.newBuilder();
  RegionActionResult.Builder regionActionResultBuilder =
      RegionActionResult.newBuilder();
  ResultOrException.Builder roeBuilder = ResultOrException.newBuilder();
  for (RegionAction regionAction: req.getRegionActionList()) {
    regionActionResultBuilder.clear();
    for (ClientProtos.Action action: regionAction.getActionList()) {
      roeBuilder.clear();
      roeBuilder.setResult(ClientProtos.Result.getDefaultInstance());
      roeBuilder.setIndex(action.getIndex());
      regionActionResultBuilder.addResultOrException(roeBuilder.build());
    }
    builder.addRegionActionResult(regionActionResultBuilder.build());
  }
  return builder.build();
}
 

开发者ID:fengchen8086,
项目名称:ditb,
代码行数:18,
代码来源:TestCatalogJanitor.java

示例2: doMultiResponse

点赞 3

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse; //导入依赖的package包/类
static MultiResponse doMultiResponse(final SortedMap<byte [], Pair<HRegionInfo, ServerName>> meta,
    final AtomicLong sequenceids, final MultiRequest request) {
  // Make a response to match the request.  Act like there were no failures.
  ClientProtos.MultiResponse.Builder builder = ClientProtos.MultiResponse.newBuilder();
  // Per Region.
  RegionActionResult.Builder regionActionResultBuilder =
      RegionActionResult.newBuilder();
  ResultOrException.Builder roeBuilder = ResultOrException.newBuilder();
  for (RegionAction regionAction: request.getRegionActionList()) {
    regionActionResultBuilder.clear();
    // Per Action in a Region.
    for (ClientProtos.Action action: regionAction.getActionList()) {
      roeBuilder.clear();
      // Return empty Result and proper index as result.
      roeBuilder.setResult(ClientProtos.Result.getDefaultInstance());
      roeBuilder.setIndex(action.getIndex());
      regionActionResultBuilder.addResultOrException(roeBuilder.build());
    }
    builder.addRegionActionResult(regionActionResultBuilder.build());
  }
  return builder.build();
}
 

开发者ID:fengchen8086,
项目名称:ditb,
代码行数:23,
代码来源:TestClientNoCluster.java

示例3: multi

点赞 2

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse; //导入依赖的package包/类
@Override
public MultiResponse multi(RpcController controller, MultiRequest request)
throws ServiceException {
  int concurrentInvocations = this.multiInvocationsCount.incrementAndGet();
  try {
    if (concurrentInvocations >= tooManyMultiRequests) {
      throw new ServiceException(new RegionTooBusyException("concurrentInvocations=" +
       concurrentInvocations));
    }
    Threads.sleep(multiPause);
    return doMultiResponse(meta, sequenceids, request);
  } finally {
    this.multiInvocationsCount.decrementAndGet();
  }
}
 

开发者ID:fengchen8086,
项目名称:ditb,
代码行数:16,
代码来源:TestClientNoCluster.java

示例4: getResults

点赞 2

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse; //导入依赖的package包/类
/**
 * Get the results from a protocol buffer MultiResponse
 *
 * @param request the protocol buffer MultiResponse to convert
 * @param cells Cells to go with the passed in <code>proto</code>.  Can be null.
 * @return the results that were in the MultiResponse (a Result or an Exception).
 * @throws IOException
 */
public static org.apache.hadoop.hbase.client.MultiResponse getResults(final MultiRequest request,
    final MultiResponse response, final CellScanner cells)
throws IOException {
  int requestRegionActionCount = request.getRegionActionCount();
  int responseRegionActionResultCount = response.getRegionActionResultCount();
  if (requestRegionActionCount != responseRegionActionResultCount) {
    throw new IllegalStateException("Request mutation count=" + responseRegionActionResultCount +
        " does not match response mutation result count=" + responseRegionActionResultCount);
  }

  org.apache.hadoop.hbase.client.MultiResponse results =
    new org.apache.hadoop.hbase.client.MultiResponse();

  for (int i = 0; i < responseRegionActionResultCount; i++) {
    RegionAction actions = request.getRegionAction(i);
    RegionActionResult actionResult = response.getRegionActionResult(i);
    HBaseProtos.RegionSpecifier rs = actions.getRegion();
    if (rs.hasType() &&
        (rs.getType() != HBaseProtos.RegionSpecifier.RegionSpecifierType.REGION_NAME)){
      throw new IllegalArgumentException(
          "We support only encoded types for protobuf multi response.");
    }
    byte[] regionName = rs.getValue().toByteArray();

    if (actionResult.hasException()) {
      Throwable regionException =  ProtobufUtil.toException(actionResult.getException());
      results.addException(regionName, regionException);
      continue;
    }

    if (actions.getActionCount() != actionResult.getResultOrExceptionCount()) {
      throw new IllegalStateException("actions.getActionCount=" + actions.getActionCount() +
          ", actionResult.getResultOrExceptionCount=" +
          actionResult.getResultOrExceptionCount() + " for region " + actions.getRegion());
    }

    for (ResultOrException roe : actionResult.getResultOrExceptionList()) {
      Object responseValue;
      if (roe.hasException()) {
        responseValue = ProtobufUtil.toException(roe.getException());
      } else if (roe.hasResult()) {
        responseValue = ProtobufUtil.toResult(roe.getResult(), cells);
        // add the load stats, if we got any
        if (roe.hasLoadStats()) {
          ((Result) responseValue).addResults(roe.getLoadStats());
        }
      } else if (roe.hasServiceResult()) {
        responseValue = roe.getServiceResult();
      } else {
        // no result & no exception. Unexpected.
        throw new IllegalStateException("No result & no exception roe=" + roe +
            " for region " + actions.getRegion());
      }
      results.add(regionName, roe.getIndex(), responseValue);
    }
  }

  return results;
}
 

开发者ID:fengchen8086,
项目名称:ditb,
代码行数:68,
代码来源:ResponseConverter.java

示例5: getResults

点赞 2

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse; //导入依赖的package包/类
/**
 * Get the results from a protocol buffer MultiResponse
 *
 * @param request the protocol buffer MultiResponse to convert
 * @param cells Cells to go with the passed in <code>proto</code>.  Can be null.
 * @return the results that were in the MultiResponse (a Result or an Exception).
 * @throws IOException
 */
public static org.apache.hadoop.hbase.client.MultiResponse getResults(final MultiRequest request,
    final MultiResponse response, final CellScanner cells)
throws IOException {
  int requestRegionActionCount = request.getRegionActionCount();
  int responseRegionActionResultCount = response.getRegionActionResultCount();
  if (requestRegionActionCount != responseRegionActionResultCount) {
    throw new IllegalStateException("Request mutation count=" + responseRegionActionResultCount +
        " does not match response mutation result count=" + responseRegionActionResultCount);
  }

  org.apache.hadoop.hbase.client.MultiResponse results =
    new org.apache.hadoop.hbase.client.MultiResponse();

  for (int i = 0; i < responseRegionActionResultCount; i++) {
    RegionAction actions = request.getRegionAction(i);
    RegionActionResult actionResult = response.getRegionActionResult(i);
    HBaseProtos.RegionSpecifier rs = actions.getRegion();
    if (rs.hasType() &&
        (rs.getType() != HBaseProtos.RegionSpecifier.RegionSpecifierType.REGION_NAME)){
      throw new IllegalArgumentException(
          "We support only encoded types for protobuf multi response.");
    }
    byte[] regionName = rs.getValue().toByteArray();

    if (actionResult.hasException()){
      Throwable regionException =  ProtobufUtil.toException(actionResult.getException());
      results.addException(regionName, regionException);
      continue;
    }

    if (actions.getActionCount() != actionResult.getResultOrExceptionCount()) {
      throw new IllegalStateException("actions.getActionCount=" + actions.getActionCount() +
          ", actionResult.getResultOrExceptionCount=" +
          actionResult.getResultOrExceptionCount() + " for region " + actions.getRegion());
    }

    for (ResultOrException roe : actionResult.getResultOrExceptionList()) {
      if (roe.hasException()) {
        results.add(regionName, new Pair<Integer, Object>(roe.getIndex(),
            ProtobufUtil.toException(roe.getException())));
      } else if (roe.hasResult()) {
        results.add(regionName, new Pair<Integer, Object>(roe.getIndex(),
            ProtobufUtil.toResult(roe.getResult(), cells)));
      } else if (roe.hasServiceResult()) {
        results.add(regionName, roe.getIndex(), roe.getServiceResult());
      } else {
        // no result & no exception. Unexpected.
        throw new IllegalStateException("No result & no exception roe=" + roe +
            " for region " + actions.getRegion());
      }
    }
  }

  return results;
}
 

开发者ID:tenggyut,
项目名称:HIndex,
代码行数:64,
代码来源:ResponseConverter.java

示例6: getResults

点赞 2

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse; //导入依赖的package包/类
/**
 * Get the results from a protocol buffer MultiResponse
 *
 * @param request the protocol buffer MultiResponse to convert
 * @param cells Cells to go with the passed in <code>proto</code>.  Can be null.
 * @return the results that were in the MultiResponse (a Result or an Exception).
 * @throws IOException
 */
public static org.apache.hadoop.hbase.client.MultiResponse getResults(final MultiRequest request,
    final MultiResponse response, final CellScanner cells)
throws IOException {
  int requestRegionActionCount = request.getRegionActionCount();
  int responseRegionActionResultCount = response.getRegionActionResultCount();
  if (requestRegionActionCount != responseRegionActionResultCount) {
    throw new IllegalStateException("Request mutation count=" + responseRegionActionResultCount +
        " does not match response mutation result count=" + responseRegionActionResultCount);
  }

  org.apache.hadoop.hbase.client.MultiResponse results =
    new org.apache.hadoop.hbase.client.MultiResponse();

  for (int i = 0; i < responseRegionActionResultCount; i++) {
    RegionAction actions = request.getRegionAction(i);
    RegionActionResult actionResult = response.getRegionActionResult(i);
    HBaseProtos.RegionSpecifier rs = actions.getRegion();
    if (rs.hasType() &&
        (rs.getType() != HBaseProtos.RegionSpecifier.RegionSpecifierType.REGION_NAME)){
      throw new IllegalArgumentException(
          "We support only encoded types for protobuf multi response.");
    }
    byte[] regionName = rs.getValue().toByteArray();

    if (actionResult.hasException()) {
      Throwable regionException =  ProtobufUtil.toException(actionResult.getException());
      results.addException(regionName, regionException);
      continue;
    }

    if (actions.getActionCount() != actionResult.getResultOrExceptionCount()) {
      throw new IllegalStateException("actions.getActionCount=" + actions.getActionCount() +
          ", actionResult.getResultOrExceptionCount=" +
          actionResult.getResultOrExceptionCount() + " for region " + actions.getRegion());
    }

    for (ResultOrException roe : actionResult.getResultOrExceptionList()) {
      if (roe.hasException()) {
        results.add(regionName, roe.getIndex(), ProtobufUtil.toException(roe.getException()));
      } else if (roe.hasResult()) {
        results.add(regionName, roe.getIndex(), ProtobufUtil.toResult(roe.getResult(), cells));
      } else if (roe.hasServiceResult()) {
        results.add(regionName, roe.getIndex(), roe.getServiceResult());
      } else {
        // no result & no exception. Unexpected.
        throw new IllegalStateException("No result & no exception roe=" + roe +
            " for region " + actions.getRegion());
      }
    }
  }

  return results;
}
 

开发者ID:shenli-uiuc,
项目名称:PyroDB,
代码行数:62,
代码来源:ResponseConverter.java

示例7: getResults

点赞 2

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse; //导入依赖的package包/类
/**
 * Get the results from a protocol buffer MultiResponse
 *
 * @param request the protocol buffer MultiResponse to convert
 * @param cells Cells to go with the passed in <code>proto</code>.  Can be null.
 * @return the results that were in the MultiResponse (a Result or an Exception).
 * @throws IOException
 */
public static org.apache.hadoop.hbase.client.MultiResponse getResults(final MultiRequest request,
    final MultiResponse response, final CellScanner cells)
throws IOException {
  int requestRegionActionCount = request.getRegionActionCount();
  int responseRegionActionResultCount = response.getRegionActionResultCount();
  if (requestRegionActionCount != responseRegionActionResultCount) {
    throw new IllegalStateException("Request mutation count=" + responseRegionActionResultCount +
        " does not match response mutation result count=" + responseRegionActionResultCount);
  }

  org.apache.hadoop.hbase.client.MultiResponse results =
    new org.apache.hadoop.hbase.client.MultiResponse();

  for (int i = 0; i < responseRegionActionResultCount; i++) {
    RegionAction actions = request.getRegionAction(i);
    RegionActionResult actionResult = response.getRegionActionResult(i);
    HBaseProtos.RegionSpecifier rs = actions.getRegion();
    if (rs.hasType() &&
        (rs.getType() != HBaseProtos.RegionSpecifier.RegionSpecifierType.REGION_NAME)){
      throw new IllegalArgumentException(
          "We support only encoded types for protobuf multi response.");
    }
    byte[] regionName = rs.getValue().toByteArray();

    if (actionResult.hasException()){
      Throwable regionException =  ProtobufUtil.toException(actionResult.getException());
      results.addException(regionName, regionException);
      continue;
    }

    if (actions.getActionCount() != actionResult.getResultOrExceptionCount()) {
      throw new IllegalStateException("actions.getActionCount=" + actions.getActionCount() +
          ", actionResult.getResultOrExceptionCount=" +
          actionResult.getResultOrExceptionCount() + " for region " + actions.getRegion());
    }

    for (ResultOrException roe : actionResult.getResultOrExceptionList()) {
      if (roe.hasException()) {
        results.add(regionName, new Pair<Integer, Object>(roe.getIndex(),
            ProtobufUtil.toException(roe.getException())));
      } else if (roe.hasResult()) {
        results.add(regionName, new Pair<Integer, Object>(roe.getIndex(),
            ProtobufUtil.toResult(roe.getResult(), cells)));
      } else {
        // no result & no exception. Unexpected.
        throw new IllegalStateException("No result & no exception roe=" + roe +
            " for region " + actions.getRegion());
      }
    }
  }

  return results;
}
 

开发者ID:cloud-software-foundation,
项目名称:c5,
代码行数:62,
代码来源:ResponseConverter.java


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)