I found codes in HStore.java
List<StoreFileScanner> sfScanners =
StoreFileScanner.getScannersForStoreFiles(files,
cacheBlocks, usePread, isCompaction, false, matcher, readPt,
isPrimaryReplicaStore());
List<KeyValueScanner> scanners = new
ArrayList<KeyValueScanner>(sfScanners.size() + 1);
scanners.addAll(sfScanners);
// Then the memstore scanners
if (memStoreScanners != null) {
scanners.addAll(memStoreScanners);
}
So is it mean before scan memstore it will scan HFile first?
Why not scan memstore first, because memory is always faster then hard disk?
Thanks,
Alex