Duo Zhang created HBASE-18059:
---------------------------------

             Summary: The scanner order for memstore scanners are wrong
                 Key: HBASE-18059
                 URL: https://issues.apache.org/jira/browse/HBASE-18059
             Project: HBase
          Issue Type: Bug
          Components: regionserver, scan, Scanners
    Affects Versions: 2.0.0
            Reporter: Duo Zhang
             Fix For: 2.0.0


This is comments for KeyValueScanner.getScannerOrder
{code:title=KeyValueScanner.java}
  /**
   * Get the order of this KeyValueScanner. This is only relevant for 
StoreFileScanners and
   * MemStoreScanners (other scanners simply return 0). This is required for 
comparing multiple
   * files to find out which one has the latest data. StoreFileScanners are 
ordered from 0
   * (oldest) to newest in increasing order. MemStoreScanner gets LONG.max 
since it always
   * contains freshest data.
   */
  long getScannerOrder();
{code}

As now we may have multiple memstore scanners, I think the right way to select 
scanner order for memstore scanner is to ordered from Long.MAX_VALUE in 
decreasing order.

But in CompactingMemStore and DefaultMemStore, the scanner order for memstore 
scanner is also start from 0, which will be messed up with StoreFileScanners.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to