You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Duo Zhang (JIRA)" <ji...@apache.org> on 2017/05/16 14:01:04 UTC

[jira] [Created] (HBASE-18059) The scanner order for memstore scanners are wrong

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)