hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sergey Shelukhin <ser...@hortonworks.com>
Subject question about the scanner ordering for gets/scans
Date Thu, 31 Jan 2013 00:44:00 GMT
Hi. When we build the scanner for scan or get, we make sure to add scanners
in sorted order.

    // First the store file scanners
>
>     // TODO this used to get the store files in descending order,
>     // but now we get them in ascending order, which I think is
>     // actually more correct, since memstore get put at the end.
>     List<StoreFileScanner> sfScanners = StoreFileScanner
>       .getScannersForStoreFiles(storeFilesToScan, cacheBlocks, isGet,
> isCompaction, matcher);
>     List<KeyValueScanner> scanners =
>       new ArrayList<KeyValueScanner>(sfScanners.size()+1);
>     scanners.addAll(sfScanners);
>     // Then the memstore scanners
>     scanners.addAll(memStoreScanners);
>

I have read the code for scanning/around this area and have a question,
does order of scanners actually matter? It looks like we insert them into
heap structure and seek/peek them all anyway, and compare separately by
seqNum in KeyValueHeap::KVScannerComparator.
Is sorting really needed for this particular place (above code)?

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message