@InterfaceAudience.LimitedPrivate(value="Coprocesssor") @InterfaceStability.Evolving public class MultiRowMutationEndpoint extends org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MultiRowMutationService implements RegionCoprocessor
HRegion.mutateRowsWithLocks(Collection, Collection, long, long)
and Coprocessor endpoints.
Defines a protocol to perform multi row transactions.
See MultiRowMutationEndpoint for the implementation.
HRegion.mutateRowsWithLocks(Collection, Collection, long, long)
for details and limitations.
List<Mutation> mutations = ...;
Put p1 = new Put(row1);
Put p2 = new Put(row2);
...
Mutate m1 = ProtobufUtil.toMutate(MutateType.PUT, p1);
Mutate m2 = ProtobufUtil.toMutate(MutateType.PUT, p2);
MutateRowsRequest.Builder mrmBuilder = MutateRowsRequest.newBuilder();
mrmBuilder.addMutationRequest(m1);
mrmBuilder.addMutationRequest(m2);
CoprocessorRpcChannel channel = t.coprocessorService(ROW);
MultiRowMutationService.BlockingInterface service =
MultiRowMutationService.newBlockingStub(channel);
MutateRowsRequest mrm = mrmBuilder.build();
service.mutateRows(null, mrm);
org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MultiRowMutationService.BlockingInterface, org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MultiRowMutationService.Interface, org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MultiRowMutationService.StubCoprocessor.State| Modifier and Type | Field and Description |
|---|---|
private RegionCoprocessorEnvironment |
env |
PRIORITY_HIGHEST, PRIORITY_LOWEST, PRIORITY_SYSTEM, PRIORITY_USER, VERSION| Constructor and Description |
|---|
MultiRowMutationEndpoint() |
| Modifier and Type | Method and Description |
|---|---|
Iterable<com.google.protobuf.Service> |
getServices()
Coprocessor endpoints providing protobuf services should override this method.
|
void |
mutateRows(com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsRequest request,
com.google.protobuf.RpcCallback<org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsResponse> done)
rpc MutateRows(.hbase.pb.MutateRowsRequest) returns (.hbase.pb.MutateRowsResponse); |
void |
start(CoprocessorEnvironment env)
Stores a reference to the coprocessor environment provided by the
RegionCoprocessorHost from the region where this
coprocessor is loaded. |
void |
stop(CoprocessorEnvironment env)
Called by the
CoprocessorEnvironment during it's own shutdown to stop the
coprocessor. |
callMethod, getDescriptor, getDescriptorForType, getRequestPrototype, getResponsePrototype, newBlockingStub, newReflectiveBlockingService, newReflectiveService, newStubclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetBulkLoadObserver, getEndpointObserver, getRegionObserverprivate RegionCoprocessorEnvironment env
public MultiRowMutationEndpoint()
public void mutateRows(com.google.protobuf.RpcController controller, org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsRequest request, com.google.protobuf.RpcCallback<org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsResponse> done)
org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MultiRowMutationServicerpc MutateRows(.hbase.pb.MutateRowsRequest) returns (.hbase.pb.MutateRowsResponse);mutateRows in class org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MultiRowMutationServicepublic Iterable<com.google.protobuf.Service> getServices()
CoprocessorgetServices in interface CoprocessorServices or empty collection. Implementations should never
return null.public void start(CoprocessorEnvironment env) throws IOException
RegionCoprocessorHost from the region where this
coprocessor is loaded. Since this is a coprocessor endpoint, it always expects to be loaded
on a table region, so always expects this to be an instance of
RegionCoprocessorEnvironment.start in interface Coprocessorenv - the environment provided by the coprocessor hostIOException - if the provided environment is not an instance of
RegionCoprocessorEnvironmentpublic void stop(CoprocessorEnvironment env) throws IOException
CoprocessorCoprocessorEnvironment during it's own shutdown to stop the
coprocessor.stop in interface CoprocessorIOExceptionCopyright © 2007–2020 The Apache Software Foundation. All rights reserved.