@InterfaceAudience.Private public class ScannerCallable extends ClientServiceCallable<Result[]>
ResultScanner
s made by
Table
. Passed to a retrying caller such as RpcRetryingCaller
so fails are
retried.Modifier and Type | Field and Description |
---|---|
protected boolean |
closed |
protected Cursor |
cursor |
protected boolean |
heartbeatMessage
Saves whether or not the most recent response from the server was a heartbeat message.
|
protected int |
id |
protected boolean |
instantiated |
protected boolean |
isRegionServerRemote |
static org.slf4j.Logger |
LOG |
static String |
LOG_SCANNER_ACTIVITY |
static String |
LOG_SCANNER_LATENCY_CUTOFF |
protected boolean |
renew |
protected RpcControllerFactory |
rpcControllerFactory |
protected Scan |
scan |
protected ScanMetrics |
scanMetrics |
protected long |
scannerId |
location, rpcController, stub
Constructor and Description |
---|
ScannerCallable(ClusterConnection connection,
TableName tableName,
Scan scan,
ScanMetrics scanMetrics,
RpcControllerFactory rpcControllerFactory,
int id) |
Modifier and Type | Method and Description |
---|---|
protected void |
checkIfRegionServerIsRemote()
compare the local machine hostname with region server's hostname to decide if hbase client
connects to a remote region server
|
int |
getCaching()
Get the number of rows that will be fetched on next
|
Cursor |
getCursor() |
HRegionInfo |
getHRegionInfo()
Returns the HRegionInfo for the current region
|
protected HRegionLocation |
getLocationForReplica(RegionLocations locs) |
protected RegionLocations |
getRegionLocationsForPrepare(byte[] row)
Fetch region locations for the row.
|
protected Scan |
getScan() |
ScannerCallable |
getScannerCallableForReplica(int id) |
void |
prepare(boolean reload)
Prepare by setting up any connections to servers, etc., ahead of call invocation.
|
protected Result[] |
rpcCall()
Run the RPC call.
|
void |
setCaching(int caching)
Set the number of rows that will be fetched on next
|
void |
setClose()
Call this when the next invocation of call should close the scanner
|
void |
setRenew(boolean val)
Indicate whether we make a call only to renew the lease, but without affected the scanner in
any other way.
|
doGet, doMutate, setStubByServiceName
call, getConnection, getExceptionMessageAdditionalDetail, getLocation, getPriority, getRow, getRpcController, getRpcControllerCellScanner, getStub, getTableName, setLocation, setRpcControllerCellScanner, setStub, sleep, throwable
public static final String LOG_SCANNER_LATENCY_CUTOFF
public static final String LOG_SCANNER_ACTIVITY
public static final org.slf4j.Logger LOG
protected long scannerId
protected boolean instantiated
protected boolean closed
protected boolean renew
protected final Scan scan
protected ScanMetrics scanMetrics
protected final int id
protected boolean heartbeatMessage
ClientProtos.ScanResponse.getHeartbeatMessage()
protected Cursor cursor
protected boolean isRegionServerRemote
protected final RpcControllerFactory rpcControllerFactory
public ScannerCallable(ClusterConnection connection, TableName tableName, Scan scan, ScanMetrics scanMetrics, RpcControllerFactory rpcControllerFactory, int id)
connection
- which connectiontableName
- table callable is onscan
- the scan to executescanMetrics
- the ScanMetrics to used, if it is null, ScannerCallable won't
collect metricsrpcControllerFactory
- factory to use when creating
RpcController
protected final HRegionLocation getLocationForReplica(RegionLocations locs) throws HBaseIOException
HBaseIOException
protected final RegionLocations getRegionLocationsForPrepare(byte[] row) throws IOException
row
- the row to look up region location forIOException
public void prepare(boolean reload) throws IOException
RetryingCallable
prepare
in interface RetryingCallable<Result[]>
prepare
in class RegionServerCallable<Result[],org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.BlockingInterface>
reload
- force reload of server locationIOException
- eprotected void checkIfRegionServerIsRemote()
protected Result[] rpcCall() throws Exception
RegionServerCallable
rpcCall
in class RegionServerCallable<Result[],org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.BlockingInterface>
Exception
public Cursor getCursor()
protected Scan getScan()
public void setClose()
public void setRenew(boolean val)
val
- true if only the lease should be renewedpublic HRegionInfo getHRegionInfo()
public int getCaching()
public void setCaching(int caching)
caching
- the number of rows for cachingpublic ScannerCallable getScannerCallableForReplica(int id)
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.