Package org.apache.hadoop.hbase.client
Class AsyncScanSingleRegionRpcRetryingCaller
java.lang.Object
org.apache.hadoop.hbase.client.AsyncScanSingleRegionRpcRetryingCaller
Retry caller for scanning a region.
We will modify the Scan object passed in directly. The upper layer should store the
reference of this object and use it to open new single region scanners.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate final classprivate static enum(package private) final classprivate static enum -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Runnableprotected final AsyncConnectionImplprivate final AdvancedScanResultConsumerprivate final HBaseRpcControllerprivate final List<RetriesExhaustedException.ThrowableWithExtraContext>private final CompletableFuture<Boolean>private booleanprivate final HRegionLocationprivate static final org.slf4j.Loggerprivate final intprivate longprivate longprivate byte[]private final HBaseServerExceptionPauseManagerprivate final intprivate final booleanprivate final ScanResultCacheprivate final org.apache.hbase.thirdparty.io.netty.util.Timerprivate final longprivate final Scanprivate final ScanMetricsprivate final longprivate final longprivate final longprivate final intprivate final org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interfaceprivate int -
Constructor Summary
ConstructorsConstructorDescriptionAsyncScanSingleRegionRpcRetryingCaller(org.apache.hbase.thirdparty.io.netty.util.Timer retryTimer, AsyncConnectionImpl conn, Scan scan, ScanMetrics scanMetrics, long scannerId, ScanResultCache resultCache, AdvancedScanResultConsumer consumer, org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface stub, HRegionLocation loc, boolean isRegionServerRemote, int priority, long scannerLeaseTimeoutPeriodNs, long pauseNs, long pauseNsForServerOverloaded, int maxAttempts, long scanTimeoutNs, long rpcTimeoutNs, int startLogErrorsCnt, Map<String, byte[]> requestAttributes) -
Method Summary
Modifier and TypeMethodDescriptionprivate voidcall()private voidprivate voidcompleteExceptionally(boolean closeScanner) private voidprivate voidcompleteOrNext(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse resp, int numberOfCompleteRows) private voidprivate voidcompleteWhenError(boolean closeScanner) private voidprivate voidcompleteWithNextStartRow(byte[] row, boolean inclusive) private longprivate voidnext()private voidonComplete(HBaseRpcController controller, org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse resp) private voidprivate voidstart(HBaseRpcController controller, org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse respWhenOpen) Now we will also fetch some cells along with the scanner id when opening a scanner, so we also need to process the ScanResponse for the open scanner request.private voidstopScan(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse resp) private voidupdateNextStartRowWhenError(Result result)
-
Field Details
-
LOG
-
retryTimer
-
scan
-
scanMetrics
-
scannerId
-
resultCache
-
consumer
-
stub
private final org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface stub -
loc
-
regionServerRemote
-
priority
-
scannerLeaseTimeoutPeriodNs
-
maxAttempts
-
scanTimeoutNs
-
rpcTimeoutNs
-
startLogErrorsCnt
-
completeWhenNoMoreResultsInRegion
-
conn
-
future
-
controller
-
nextStartRowWhenError
-
includeNextStartRowWhenError
-
nextCallStartNs
-
tries
-
exceptions
-
nextCallSeq
-
pauseManager
-
-
Constructor Details
-
AsyncScanSingleRegionRpcRetryingCaller
public AsyncScanSingleRegionRpcRetryingCaller(org.apache.hbase.thirdparty.io.netty.util.Timer retryTimer, AsyncConnectionImpl conn, Scan scan, ScanMetrics scanMetrics, long scannerId, ScanResultCache resultCache, AdvancedScanResultConsumer consumer, org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface stub, HRegionLocation loc, boolean isRegionServerRemote, int priority, long scannerLeaseTimeoutPeriodNs, long pauseNs, long pauseNsForServerOverloaded, int maxAttempts, long scanTimeoutNs, long rpcTimeoutNs, int startLogErrorsCnt, Map<String, byte[]> requestAttributes)
-
-
Method Details
-
elapsedMs
-
closeScanner
-
completeExceptionally
-
completeNoMoreResults
-
completeWithNextStartRow
-
completeWhenError
-
onError
-
updateNextStartRowWhenError
-
completeWhenNoMoreResultsInRegion
-
completeReversedWhenNoMoreResultsInRegion
-
completeOrNext
private void completeOrNext(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse resp, int numberOfCompleteRows) -
onComplete
private void onComplete(HBaseRpcController controller, org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse resp) -
stopScan
private void stopScan(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse resp) -
call
-
next
-
renewLease
-
start
public CompletableFuture<Boolean> start(HBaseRpcController controller, org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse respWhenOpen) Now we will also fetch some cells along with the scanner id when opening a scanner, so we also need to process the ScanResponse for the open scanner request. The HBaseRpcController for the open scanner request is also needed because we may have some data in the CellScanner which is contained in the controller.- Returns:
trueif we should continue, otherwisefalse.
-