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


Java ClientProtos.CoprocessorServiceCall方法代码示例

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


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

示例1: callExecService

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos; //导入方法依赖的package包/类
@Override
protected Message callExecService(Descriptors.MethodDescriptor method, Message request,
    Message responsePrototype) throws IOException {
  if (LOG.isTraceEnabled()) {
    LOG.trace("Call: " + method.getName() + ", " + request.toString());
  }
  final ClientProtos.CoprocessorServiceCall call =
      ClientProtos.CoprocessorServiceCall.newBuilder()
          .setRow(ByteStringer.wrap(HConstants.EMPTY_BYTE_ARRAY))
          .setServiceName(method.getService().getFullName()).setMethodName(method.getName())
          .setRequest(request.toByteString()).build();
  CoprocessorServiceResponse result =
      ProtobufUtil.execRegionServerService(connection.getClient(serverName), call);
  Message response = null;
  if (result.getValue().hasValue()) {
    response =
        responsePrototype.newBuilderForType().mergeFrom(result.getValue().getValue()).build();
  } else {
    response = responsePrototype.getDefaultInstanceForType();
  }
  if (LOG.isTraceEnabled()) {
    LOG.trace("Result is value=" + response);
  }
  return response;
}
 
开发者ID:grokcoder,项目名称:pbase,代码行数:26,代码来源:RegionServerCoprocessorRpcChannel.java

示例2: callExecService

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos; //导入方法依赖的package包/类
@Override
protected Message callExecService(RpcController controller, Descriptors.MethodDescriptor method,
                                Message request, Message responsePrototype)
    throws IOException {
  if (LOG.isTraceEnabled()) {
    LOG.trace("Call: "+method.getName()+", "+request.toString());
  }

  final ClientProtos.CoprocessorServiceCall call =
      ClientProtos.CoprocessorServiceCall.newBuilder()
          .setRow(ByteStringer.wrap(HConstants.EMPTY_BYTE_ARRAY))
          .setServiceName(method.getService().getFullName())
          .setMethodName(method.getName())
          .setRequest(request.toByteString()).build();

  // TODO: Are we retrying here? Does not seem so. We should use RetryingRpcCaller
  CoprocessorServiceResponse result = ProtobufUtil.execService(controller,
    connection.getMaster(), call);
  Message response = null;
  if (result.getValue().hasValue()) {
    Message.Builder builder = responsePrototype.newBuilderForType();
    ProtobufUtil.mergeFrom(builder, result.getValue().getValue());
    response = builder.build();
  } else {
    response = responsePrototype.getDefaultInstanceForType();
  }
  if (LOG.isTraceEnabled()) {
    LOG.trace("Master Result is value=" + response);
  }
  return response;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:32,代码来源:MasterCoprocessorRpcChannel.java

示例3: callExecService

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos; //导入方法依赖的package包/类
@Override
protected Message callExecService(RpcController controller,
    Descriptors.MethodDescriptor method, Message request, Message responsePrototype)
        throws IOException {
  if (LOG.isTraceEnabled()) {
    LOG.trace("Call: " + method.getName() + ", " + request.toString());
  }
  final ClientProtos.CoprocessorServiceCall call =
      ClientProtos.CoprocessorServiceCall.newBuilder()
          .setRow(ByteStringer.wrap(HConstants.EMPTY_BYTE_ARRAY))
          .setServiceName(method.getService().getFullName()).setMethodName(method.getName())
          .setRequest(request.toByteString()).build();

  // TODO: Are we retrying here? Does not seem so. We should use RetryingRpcCaller
  CoprocessorServiceResponse result =
      ProtobufUtil.execRegionServerService(controller, connection.getClient(serverName), call);
  Message response = null;
  if (result.getValue().hasValue()) {
    Message.Builder builder = responsePrototype.newBuilderForType();
    ProtobufUtil.mergeFrom(builder, result.getValue().getValue());
    response = builder.build();
  } else {
    response = responsePrototype.getDefaultInstanceForType();
  }
  if (LOG.isTraceEnabled()) {
    LOG.trace("Result is value=" + response);
  }
  return response;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:30,代码来源:RegionServerCoprocessorRpcChannel.java

示例4: execServiceOnRegion

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos; //导入方法依赖的package包/类
private Message execServiceOnRegion(HRegion region,
                                    final ClientProtos.CoprocessorServiceCall serviceCall) throws IOException {
    // ignore the passed in controller (from the serialized call)
    ServerRpcController execController = new ServerRpcController();
    Message result = region.execService(execController, serviceCall);
    if (execController.getFailedOn() != null) {
        throw execController.getFailedOn();
    }
    return result;
}
 
开发者ID:grokcoder,项目名称:pbase,代码行数:11,代码来源:RSRpcServices.java

示例5: callExecService

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos; //导入方法依赖的package包/类
@Override
protected Message callExecService(Descriptors.MethodDescriptor method,
                                Message request, Message responsePrototype)
    throws IOException {
  if (LOG.isDebugEnabled()) {
    LOG.debug("Call: "+method.getName()+", "+request.toString());
  }

  final ClientProtos.CoprocessorServiceCall call =
      ClientProtos.CoprocessorServiceCall.newBuilder()
          .setRow(ByteStringer.wrap(HConstants.EMPTY_BYTE_ARRAY))
          .setServiceName(method.getService().getFullName())
          .setMethodName(method.getName())
          .setRequest(request.toByteString()).build();
  CoprocessorServiceResponse result = ProtobufUtil.execService(connection.getMaster(), call);
  Message response = null;
  if (result.getValue().hasValue()) {
    response = responsePrototype.newBuilderForType()
        .mergeFrom(result.getValue().getValue()).build();
  } else {
    response = responsePrototype.getDefaultInstanceForType();
  }
  if (LOG.isTraceEnabled()) {
    LOG.trace("Master Result is value=" + response);
  }
  return response;
}
 
开发者ID:grokcoder,项目名称:pbase,代码行数:28,代码来源:MasterCoprocessorRpcChannel.java

示例6: callExecService

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos; //导入方法依赖的package包/类
@Override
protected Message callExecService(Descriptors.MethodDescriptor method,
                                Message request, Message responsePrototype)
    throws IOException {
  if (LOG.isTraceEnabled()) {
    LOG.trace("Call: "+method.getName()+", "+request.toString());
  }

  if (row == null) {
    throw new IllegalArgumentException("Missing row property for remote region location");
  }

  final ClientProtos.CoprocessorServiceCall call =
      ClientProtos.CoprocessorServiceCall.newBuilder()
          .setRow(ByteStringer.wrap(row))
          .setServiceName(method.getService().getFullName())
          .setMethodName(method.getName())
          .setRequest(request.toByteString()).build();
  RegionServerCallable<CoprocessorServiceResponse> callable =
      new RegionServerCallable<CoprocessorServiceResponse>(connection, table, row) {
        public CoprocessorServiceResponse call(int callTimeout) throws Exception {
          byte[] regionName = getLocation().getRegionInfo().getRegionName();
          return ProtobufUtil.execService(getStub(), call, regionName);
        }
      };
  CoprocessorServiceResponse result = rpcFactory.<CoprocessorServiceResponse> newCaller()
      .callWithRetries(callable, operationTimeout);
  Message response = null;
  if (result.getValue().hasValue()) {
    response = responsePrototype.newBuilderForType()
        .mergeFrom(result.getValue().getValue()).build();
  } else {
    response = responsePrototype.getDefaultInstanceForType();
  }
  lastRegion = result.getRegion().getValue().toByteArray();
  if (LOG.isTraceEnabled()) {
    LOG.trace("Result is region=" + Bytes.toStringBinary(lastRegion) + ", value=" + response);
  }
  return response;
}
 
开发者ID:grokcoder,项目名称:pbase,代码行数:41,代码来源:RegionCoprocessorRpcChannel.java

示例7: execServiceOnRegion

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos; //导入方法依赖的package包/类
private Message execServiceOnRegion(HRegion region,
    final ClientProtos.CoprocessorServiceCall serviceCall) throws IOException {
  // ignore the passed in controller (from the serialized call)
  ServerRpcController execController = new ServerRpcController();
  Message result = region.execService(execController, serviceCall);
  if (execController.getFailedOn() != null) {
    throw execController.getFailedOn();
  }
  return result;
}
 
开发者ID:tenggyut,项目名称:HIndex,代码行数:11,代码来源:HRegionServer.java

示例8: callExecService

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos; //导入方法依赖的package包/类
@Override
protected Message callExecService(Descriptors.MethodDescriptor method,
                                Message request, Message responsePrototype)
    throws IOException {
  if (LOG.isDebugEnabled()) {
    LOG.debug("Call: "+method.getName()+", "+request.toString());
  }

  final ClientProtos.CoprocessorServiceCall call =
      ClientProtos.CoprocessorServiceCall.newBuilder()
          .setRow(HBaseZeroCopyByteString.wrap(HConstants.EMPTY_BYTE_ARRAY))
          .setServiceName(method.getService().getFullName())
          .setMethodName(method.getName())
          .setRequest(request.toByteString()).build();
  CoprocessorServiceResponse result = ProtobufUtil.execService(connection.getMaster(), call);
  Message response = null;
  if (result.getValue().hasValue()) {
    response = responsePrototype.newBuilderForType()
        .mergeFrom(result.getValue().getValue()).build();
  } else {
    response = responsePrototype.getDefaultInstanceForType();
  }
  if (LOG.isTraceEnabled()) {
    LOG.trace("Master Result is value=" + response);
  }
  return response;
}
 
开发者ID:tenggyut,项目名称:HIndex,代码行数:28,代码来源:MasterCoprocessorRpcChannel.java

示例9: execServiceOnRegion

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos; //导入方法依赖的package包/类
private Message execServiceOnRegion(Region region,
    final ClientProtos.CoprocessorServiceCall serviceCall) throws IOException {
  // ignore the passed in controller (from the serialized call)
  ServerRpcController execController = new ServerRpcController();
  return region.execService(execController, serviceCall);
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:7,代码来源:RSRpcServices.java

示例10: callExecService

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos; //导入方法依赖的package包/类
@Override
protected Message callExecService(RpcController controller,
    Descriptors.MethodDescriptor method, Message request, Message responsePrototype)
        throws IOException {
  if (LOG.isTraceEnabled()) {
    LOG.trace("Call: "+method.getName()+", "+request.toString());
  }

  if (row == null) {
    throw new IllegalArgumentException("Missing row property for remote region location");
  }

  final RpcController rpcController = controller == null
      ? rpcControllerFactory.newController() : controller;

  final ClientProtos.CoprocessorServiceCall call =
      ClientProtos.CoprocessorServiceCall.newBuilder()
          .setRow(ByteStringer.wrap(row))
          .setServiceName(method.getService().getFullName())
          .setMethodName(method.getName())
          .setRequest(request.toByteString()).build();
  RegionServerCallable<CoprocessorServiceResponse> callable =
      new RegionServerCallable<CoprocessorServiceResponse>(connection, table, row) {
    @Override
    public CoprocessorServiceResponse call(int callTimeout) throws Exception {
      if (rpcController instanceof PayloadCarryingRpcController) {
        ((PayloadCarryingRpcController) rpcController).setPriority(tableName);
      }
      if (rpcController instanceof TimeLimitedRpcController) {
        ((TimeLimitedRpcController) rpcController).setCallTimeout(callTimeout);
      }
      byte[] regionName = getLocation().getRegionInfo().getRegionName();
      return ProtobufUtil.execService(rpcController, getStub(), call, regionName);
    }
  };
  CoprocessorServiceResponse result = rpcCallerFactory.<CoprocessorServiceResponse> newCaller()
      .callWithRetries(callable, operationTimeout);
  Message response = null;
  if (result.getValue().hasValue()) {
    Message.Builder builder = responsePrototype.newBuilderForType();
    ProtobufUtil.mergeFrom(builder, result.getValue().getValue());
    response = builder.build();
  } else {
    response = responsePrototype.getDefaultInstanceForType();
  }
  lastRegion = result.getRegion().getValue().toByteArray();
  if (LOG.isTraceEnabled()) {
    LOG.trace("Result is region=" + Bytes.toStringBinary(lastRegion) + ", value=" + response);
  }
  return response;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:52,代码来源:RegionCoprocessorRpcChannel.java

示例11: execMasterService

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos; //导入方法依赖的package包/类
@Override
public ClientProtos.CoprocessorServiceResponse execMasterService(final RpcController controller,
    final ClientProtos.CoprocessorServiceRequest request) throws ServiceException {
  try {
    ServerRpcController execController = new ServerRpcController();

    ClientProtos.CoprocessorServiceCall call = request.getCall();
    String serviceName = call.getServiceName();
    String methodName = call.getMethodName();
    if (!coprocessorServiceHandlers.containsKey(serviceName)) {
      throw new UnknownProtocolException(null,
          "No registered master coprocessor service found for name "+serviceName);
    }

    Service service = coprocessorServiceHandlers.get(serviceName);
    Descriptors.ServiceDescriptor serviceDesc = service.getDescriptorForType();
    Descriptors.MethodDescriptor methodDesc = serviceDesc.findMethodByName(methodName);
    if (methodDesc == null) {
      throw new UnknownProtocolException(service.getClass(),
          "Unknown method "+methodName+" called on master service "+serviceName);
    }

    //invoke the method
    Message execRequest = service.getRequestPrototype(methodDesc).newBuilderForType()
        .mergeFrom(call.getRequest()).build();
    final Message.Builder responseBuilder =
        service.getResponsePrototype(methodDesc).newBuilderForType();
    service.callMethod(methodDesc, execController, execRequest, new RpcCallback<Message>() {
      @Override
      public void run(Message message) {
        if (message != null) {
          responseBuilder.mergeFrom(message);
        }
      }
    });
    Message execResult = responseBuilder.build();

    if (execController.getFailedOn() != null) {
      throw execController.getFailedOn();
    }
    ClientProtos.CoprocessorServiceResponse.Builder builder =
        ClientProtos.CoprocessorServiceResponse.newBuilder();
    builder.setRegion(RequestConverter.buildRegionSpecifier(
        RegionSpecifierType.REGION_NAME, HConstants.EMPTY_BYTE_ARRAY));
    builder.setValue(
        builder.getValueBuilder().setName(execResult.getClass().getName())
            .setValue(execResult.toByteString()));
    return builder.build();
  } catch (IOException ie) {
    throw new ServiceException(ie);
  }
}
 
开发者ID:tenggyut,项目名称:HIndex,代码行数:53,代码来源:HMaster.java

示例12: callExecService

import org.apache.hadoop.hbase.protobuf.generated.ClientProtos; //导入方法依赖的package包/类
@Override
protected Message callExecService(Descriptors.MethodDescriptor method,
                                Message request, Message responsePrototype)
    throws IOException {
  if (LOG.isTraceEnabled()) {
    LOG.trace("Call: "+method.getName()+", "+request.toString());
  }

  if (row == null) {
    throw new IllegalArgumentException("Missing row property for remote region location");
  }

  final ClientProtos.CoprocessorServiceCall call =
      ClientProtos.CoprocessorServiceCall.newBuilder()
          .setRow(HBaseZeroCopyByteString.wrap(row))
          .setServiceName(method.getService().getFullName())
          .setMethodName(method.getName())
          .setRequest(request.toByteString()).build();
  final PayloadCarryingRpcController controller = rpcController.newController();
  controller.setPriority(table);
  RegionServerCallable<CoprocessorServiceResponse> callable =
      new RegionServerCallable<CoprocessorServiceResponse>(connection, table, row) {
        public CoprocessorServiceResponse call() throws Exception {
          byte[] regionName = getLocation().getRegionInfo().getRegionName();
          return ProtobufUtil.execService(getStub(), call, regionName, controller);
        }
      };
  CoprocessorServiceResponse result = rpcFactory.<CoprocessorServiceResponse> newCaller()
      .callWithRetries(callable);
  Message response = null;
  if (result.getValue().hasValue()) {
    response = responsePrototype.newBuilderForType()
        .mergeFrom(result.getValue().getValue()).build();
  } else {
    response = responsePrototype.getDefaultInstanceForType();
  }
  lastRegion = result.getRegion().getValue().toByteArray();
  if (LOG.isTraceEnabled()) {
    LOG.trace("Result is region=" + Bytes.toStringBinary(lastRegion) + ", value=" + response);
  }
  return response;
}
 
开发者ID:tenggyut,项目名称:HIndex,代码行数:43,代码来源:RegionCoprocessorRpcChannel.java


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