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