Class MobStoreScanner
java.lang.Object
org.apache.hadoop.hbase.regionserver.NonLazyKeyValueScanner
org.apache.hadoop.hbase.regionserver.NonReversedNonLazyKeyValueScanner
org.apache.hadoop.hbase.regionserver.StoreScanner
org.apache.hadoop.hbase.regionserver.MobStoreScanner
- All Implemented Interfaces:
Closeable
,AutoCloseable
,ChangedReadersObserver
,InternalScanner
,KeyValueScanner
,Shipper
Scanner scans both the memstore and the MOB Store. Coalesce KeyValue stream into
List<KeyValue>
for a single row.-
Field Summary
Modifier and TypeFieldDescriptionprivate boolean
private static final org.slf4j.Logger
private final HMobStore
private boolean
private boolean
Fields inherited from class org.apache.hadoop.hbase.regionserver.StoreScanner
currentScanners, DEFAULT_HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK, HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK, heap, LAZY_SEEK_ENABLED_BY_DEFAULT, memstoreOnlyReads, mixedReads, readPt, store, STORESCANNER_PARALLEL_SEEK_ENABLE, STORESCANNER_PREAD_MAX_BYTES
Fields inherited from interface org.apache.hadoop.hbase.regionserver.KeyValueScanner
NO_NEXT_INDEXED_KEY
-
Constructor Summary
ConstructorDescriptionMobStoreScanner
(HStore store, ScanInfo scanInfo, Scan scan, NavigableSet<byte[]> columns, long readPt) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Close the KeyValue scanner.private void
boolean
next
(List<? super ExtendedCell> outResult, ScannerContext ctx) Firstly reads the cells from the HBase.void
shipped()
Called after a batch of rows scanned and set to be returned to client.Methods inherited from class org.apache.hadoop.hbase.regionserver.StoreScanner
checkFlushed, checkScanOrder, enableLazySeekGlobally, getAllScannersForTesting, getEstimatedNumberOfKvsScanned, getNextIndexedKey, getReadPoint, isScanUsePread, newKVHeap, next, peek, reopenAfterFlush, reseek, resetKVHeap, seek, seekAsDirection, seekScanners, seekToNextRow, selectScannersFrom, trySkipToNextColumn, trySkipToNextRow, trySwitchToStreamRead, updateReaders
Methods inherited from class org.apache.hadoop.hbase.regionserver.NonReversedNonLazyKeyValueScanner
backwardSeek, seekToLastRow, seekToPreviousRow
Methods inherited from class org.apache.hadoop.hbase.regionserver.NonLazyKeyValueScanner
doRealSeek, enforceSeek, getFilePath, isFileScanner, realSeekDone, recordBlockSize, requestSeek, shouldUseScanner
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.hadoop.hbase.regionserver.InternalScanner
next
Methods inherited from interface org.apache.hadoop.hbase.regionserver.KeyValueScanner
backwardSeek, enforceSeek, getFilePath, getScannerOrder, isFileScanner, realSeekDone, recordBlockSize, requestSeek, seekToLastRow, seekToPreviousRow, shouldUseScanner
-
Field Details
-
LOG
-
cacheMobBlocks
-
rawMobScan
-
readEmptyValueOnMobCellMiss
-
mobStore
-
referencedMobCells
-
-
Constructor Details
-
Method Details
-
next
Firstly reads the cells from the HBase. If the cell are a reference cell (which has the reference tag), the scanner need seek this cell from the mob file, and use the cell found from the mob file as the result.- Specified by:
next
in interfaceInternalScanner
- Overrides:
next
in classStoreScanner
- Parameters:
outResult
- return output array. We will only add ExtendedCell to this list, but for CP users, you'd better just useRawCell
asExtendedCell
is IA.Private.- Returns:
- true if there are more rows, false if scanner is done
- Throws:
IOException
-
freeAllReferencedMobCells
- Throws:
IOException
-
shipped
Description copied from interface:Shipper
Called after a batch of rows scanned and set to be returned to client. Any in between cleanup can be done here.- Specified by:
shipped
in interfaceShipper
- Overrides:
shipped
in classStoreScanner
- Throws:
IOException
-
close
Description copied from interface:KeyValueScanner
Close the KeyValue scanner.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceInternalScanner
- Specified by:
close
in interfaceKeyValueScanner
- Overrides:
close
in classStoreScanner
-