You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Chang chen (JIRA)" <ji...@apache.org> on 2016/12/26 10:15:58 UTC

[jira] [Created] (HBASE-17375) PrefixTreeArrayReversibleScanner#previousRowInternal doesn't work correctly

Chang chen created HBASE-17375:
----------------------------------

             Summary: PrefixTreeArrayReversibleScanner#previousRowInternal doesn't work correctly
                 Key: HBASE-17375
                 URL: https://issues.apache.org/jira/browse/HBASE-17375
             Project: HBase
          Issue Type: Bug
    Affects Versions: 0.98.24, 0.98.23, 1.1.7
            Reporter: Chang chen


Recently, we find our hbase compaction thread never end. After investigation, I believe it's the bug of PrefixTreeArrayReversibleScanner#previousRowInternal.

{code}
  private boolean previousRowInternal() {
    //...
    while (!beforeFirst) {
      //....
      // what if currentRowNode is nub?
      if (currentRowNode.hasOccurrences()) {// escape clause
        currentRowNode.resetFanIndex();
        return true;// found some values
      }
    }
{code}

Assume we have following cells:
{quote}
<A,a> 1
<A,v> 1
<Aaeeee,a> 1
<Aaeeee,v> 1
<Abc,a> 1
<Abc,v> 1
<Abde,a> 1
<Abde,v> 1
{quote}

If the current row is {color:red}Abc{color}, then the preivous row should be *Aaeeee*,. However previousRowInternal return {color:red}A{color}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)