T
- the class that the ServerCallable handles@InterfaceAudience.Private public abstract class NoncedRegionServerCallable<T> extends ClientServiceCallable<T>
RegionServerCallable.call(int)
to trigger the rpc. The
RegionServerCallable.call(int)
eventually invokes your #rpcCall(RpcController) meanwhile saving you having to
write a bunch of boilerplate. The RegionServerCallable.call(int)
implementation is from
RpcRetryingCaller
so rpcs are retried on fail.
TODO: this class is actually tied to one region, because most of the paths make use of the regioninfo part of location when building requests. The only reason it works for multi-region requests (e.g. batch) is that they happen to not use the region parts. This could be done cleaner (e.g. having a generic parameter and 2 derived classes, RegionCallable and actual RegionServerCallable with ServerName.
location, rpcController, stub
Constructor and Description |
---|
NoncedRegionServerCallable(Connection connection,
TableName tableName,
byte[] row,
HBaseRpcController rpcController,
int priority) |
doGet, doMutate, setStubByServiceName
call, getConnection, getExceptionMessageAdditionalDetail, getHRegionInfo, getLocation, getPriority, getRow, getRpcController, getRpcControllerCellScanner, getStub, getTableName, prepare, rpcCall, setLocation, setRpcControllerCellScanner, setStub, sleep, throwable
public NoncedRegionServerCallable(Connection connection, TableName tableName, byte[] row, HBaseRpcController rpcController, int priority)
connection
- Connection to use.tableName
- Table name to which row
belongs.row
- The row we want in tableName
.Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.