[
https://issues.apache.org/jira/browse/HBASE-17375?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chang chen updated HBASE-17375:
-------------------------------
Attachment: row trie example.PNG
> 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: 1.1.7, 0.98.23, 0.98.24
> Reporter: Chang chen
> Attachments: row trie example.PNG
>
>
> 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)