Java 类org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionActionResult 实例源码

项目:ditb    文件:TestCatalogJanitor.java   
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();
}
项目:ditb    文件:TestClientNoCluster.java   
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();
}
项目:pbase    文件:TestCatalogJanitor.java   
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();
}
项目:pbase    文件:TestClientNoCluster.java   
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();
}
项目:HIndex    文件:TestVisibilityLabels.java   
@Test
public void testAddLabels() throws Throwable {
  PrivilegedExceptionAction<VisibilityLabelsResponse> action = 
      new PrivilegedExceptionAction<VisibilityLabelsResponse>() {
    public VisibilityLabelsResponse run() throws Exception {
      String[] labels = { "L1", SECRET, "L2", "invalid~", "L3" };
      VisibilityLabelsResponse response = null;
      try {
        response = VisibilityClient.addLabels(conf, labels);
      } catch (Throwable e) {
        fail("Should not have thrown exception");
      }
      List<RegionActionResult> resultList = response.getResultList();
      assertEquals(5, resultList.size());
      assertTrue(resultList.get(0).getException().getValue().isEmpty());
      assertEquals("org.apache.hadoop.hbase.security.visibility.LabelAlreadyExistsException",
          resultList.get(1).getException().getName());
      assertTrue(resultList.get(2).getException().getValue().isEmpty());
      assertEquals("org.apache.hadoop.hbase.security.visibility.InvalidLabelException",
          resultList.get(3).getException().getName());
      assertTrue(resultList.get(4).getException().getValue().isEmpty());
      return null;
    }
  };
  SUPERUSER.runAs(action);
}
项目:HIndex    文件:TestClientNoCluster.java   
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();
}
项目:PyroDB    文件:TestVisibilityLabels.java   
@Test
public void testAddLabels() throws Throwable {
  PrivilegedExceptionAction<VisibilityLabelsResponse> action = 
      new PrivilegedExceptionAction<VisibilityLabelsResponse>() {
    public VisibilityLabelsResponse run() throws Exception {
      String[] labels = { "L1", SECRET, "L2", "invalid~", "L3" };
      VisibilityLabelsResponse response = null;
      try {
        response = VisibilityClient.addLabels(conf, labels);
      } catch (Throwable e) {
        fail("Should not have thrown exception");
      }
      List<RegionActionResult> resultList = response.getResultList();
      assertEquals(5, resultList.size());
      assertTrue(resultList.get(0).getException().getValue().isEmpty());
      assertEquals("org.apache.hadoop.hbase.security.visibility.LabelAlreadyExistsException",
          resultList.get(1).getException().getName());
      assertTrue(resultList.get(2).getException().getValue().isEmpty());
      assertEquals("org.apache.hadoop.hbase.security.visibility.InvalidLabelException",
          resultList.get(3).getException().getName());
      assertTrue(resultList.get(4).getException().getValue().isEmpty());
      return null;
    }
  };
  SUPERUSER.runAs(action);
}
项目:PyroDB    文件:TestCatalogJanitor.java   
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();
}
项目:PyroDB    文件:TestClientNoCluster.java   
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();
}
项目:c5    文件:TestClientNoCluster.java   
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();
}
项目:ditb    文件:VisibilityController.java   
private void setExceptionResults(int size, IOException e,
    VisibilityLabelsResponse.Builder response) {
  RegionActionResult.Builder failureResultBuilder = RegionActionResult.newBuilder();
  failureResultBuilder.setException(ResponseConverter.buildException(e));
  RegionActionResult failureResult = failureResultBuilder.build();
  for (int i = 0; i < size; i++) {
    response.addResult(i, failureResult);
  }
}
项目:ditb    文件:TestVisibilityLabelsWithDefaultVisLabelService.java   
@Test
public void testAddLabels() throws Throwable {
  PrivilegedExceptionAction<VisibilityLabelsResponse> action =
      new PrivilegedExceptionAction<VisibilityLabelsResponse>() {
    public VisibilityLabelsResponse run() throws Exception {
      String[] labels = { "L1", SECRET, "L2", "invalid~", "L3" };
      VisibilityLabelsResponse response = null;
      try (Connection conn = ConnectionFactory.createConnection(conf)) {
        response = VisibilityClient.addLabels(conn, labels);
      } catch (Throwable e) {
        fail("Should not have thrown exception");
      }
      List<RegionActionResult> resultList = response.getResultList();
      assertEquals(5, resultList.size());
      assertTrue(resultList.get(0).getException().getValue().isEmpty());
      assertEquals("org.apache.hadoop.hbase.DoNotRetryIOException", resultList.get(1)
          .getException().getName());
      assertTrue(Bytes.toString(resultList.get(1).getException().getValue().toByteArray())
          .contains(
              "org.apache.hadoop.hbase.security.visibility.LabelAlreadyExistsException: "
                  + "Label 'secret' already exists"));
      assertTrue(resultList.get(2).getException().getValue().isEmpty());
      assertTrue(resultList.get(3).getException().getValue().isEmpty());
      assertTrue(resultList.get(4).getException().getValue().isEmpty());
      return null;
    }
  };
  SUPERUSER.runAs(action);
}
项目:pbase    文件:VisibilityController.java   
private void setExceptionResults(int size, IOException e,
    VisibilityLabelsResponse.Builder response) {
  RegionActionResult.Builder failureResultBuilder = RegionActionResult.newBuilder();
  failureResultBuilder.setException(ResponseConverter.buildException(e));
  RegionActionResult failureResult = failureResultBuilder.build();
  for (int i = 0; i < size; i++) {
    response.addResult(i, failureResult);
  }
}
项目:pbase    文件:TestVisibilityLabelsWithDefaultVisLabelService.java   
@Test
public void testAddLabels() throws Throwable {
  PrivilegedExceptionAction<VisibilityLabelsResponse> action =
      new PrivilegedExceptionAction<VisibilityLabelsResponse>() {
    public VisibilityLabelsResponse run() throws Exception {
      String[] labels = { "L1", SECRET, "L2", "invalid~", "L3" };
      VisibilityLabelsResponse response = null;
      try {
        response = VisibilityClient.addLabels(conf, labels);
      } catch (Throwable e) {
        fail("Should not have thrown exception");
      }
      List<RegionActionResult> resultList = response.getResultList();
      assertEquals(5, resultList.size());
      assertTrue(resultList.get(0).getException().getValue().isEmpty());
      assertEquals("org.apache.hadoop.hbase.DoNotRetryIOException", resultList.get(1)
          .getException().getName());
      assertTrue(Bytes.toString(resultList.get(1).getException().getValue().toByteArray())
          .contains(
              "org.apache.hadoop.hbase.security.visibility.LabelAlreadyExistsException: "
                  + "Label 'secret' already exists"));
      assertTrue(resultList.get(2).getException().getValue().isEmpty());
      assertTrue(resultList.get(3).getException().getValue().isEmpty());
      assertTrue(resultList.get(4).getException().getValue().isEmpty());
      return null;
    }
  };
  SUPERUSER.runAs(action);
}
项目:HIndex    文件:VisibilityController.java   
private void setExceptionResults(int size, IOException e,
    VisibilityLabelsResponse.Builder response) {
  RegionActionResult.Builder failureResultBuilder = RegionActionResult.newBuilder();
  failureResultBuilder.setException(ResponseConverter.buildException(e));
  RegionActionResult failureResult = failureResultBuilder.build();
  for (int i = 0; i < size; i++) {
    response.addResult(i, failureResult);
  }
}
项目:hbase    文件:VisibilityController.java   
private void setExceptionResults(int size, IOException e,
    VisibilityLabelsResponse.Builder response) {
  RegionActionResult.Builder failureResultBuilder = RegionActionResult.newBuilder();
  failureResultBuilder.setException(buildException(e));
  RegionActionResult failureResult = failureResultBuilder.build();
  for (int i = 0; i < size; i++) {
    response.addResult(i, failureResult);
  }
}
项目:hbase    文件:TestVisibilityLabelsWithDefaultVisLabelService.java   
@Test
public void testAddLabels() throws Throwable {
  PrivilegedExceptionAction<VisibilityLabelsResponse> action =
      new PrivilegedExceptionAction<VisibilityLabelsResponse>() {
    @Override
    public VisibilityLabelsResponse run() throws Exception {
      String[] labels = { "L1", SECRET, "L2", "invalid~", "L3" };
      VisibilityLabelsResponse response = null;
      try (Connection conn = ConnectionFactory.createConnection(conf)) {
        response = VisibilityClient.addLabels(conn, labels);
      } catch (Throwable e) {
        fail("Should not have thrown exception");
      }
      List<RegionActionResult> resultList = response.getResultList();
      assertEquals(5, resultList.size());
      assertTrue(resultList.get(0).getException().getValue().isEmpty());
      assertEquals("org.apache.hadoop.hbase.DoNotRetryIOException", resultList.get(1)
          .getException().getName());
      assertTrue(Bytes.toString(resultList.get(1).getException().getValue().toByteArray())
          .contains(
              "org.apache.hadoop.hbase.security.visibility.LabelAlreadyExistsException: "
                  + "Label 'secret' already exists"));
      assertTrue(resultList.get(2).getException().getValue().isEmpty());
      assertTrue(resultList.get(3).getException().getValue().isEmpty());
      assertTrue(resultList.get(4).getException().getValue().isEmpty());
      return null;
    }
  };
  SUPERUSER.runAs(action);
}
项目:PyroDB    文件:VisibilityController.java   
private void setExceptionResults(int size, IOException e,
    VisibilityLabelsResponse.Builder response) {
  RegionActionResult.Builder failureResultBuilder = RegionActionResult.newBuilder();
  failureResultBuilder.setException(ResponseConverter.buildException(e));
  RegionActionResult failureResult = failureResultBuilder.build();
  for (int i = 0; i < size; i++) {
    response.addResult(i, failureResult);
  }
}
项目:ditb    文件:ResponseConverter.java   
/**
 * 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;
}
项目:pbase    文件:ResponseConverter.java   
/**
 * 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;
}
项目:HIndex    文件:ResponseConverter.java   
/**
 * 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;
}
项目:PyroDB    文件:ResponseConverter.java   
/**
 * 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;
}
项目:c5    文件:ResponseConverter.java   
/**
 * 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;
}