[ 
https://issues.apache.org/jira/browse/HBASE-21922?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Guanghao Zhang updated HBASE-21922:
-----------------------------------
    Release Note: Remove bloom filter type ROWPREFIX_DELIMITED. May add it back 
when find a better solution.  (was: Remove bloom filter type 
ROWPREFIX_DELIMITED. Add it back when find a better solution.)

> BloomContext#sanityCheck may failed when use ROWPREFIX_DELIMITED bloom filter
> -----------------------------------------------------------------------------
>
>                 Key: HBASE-21922
>                 URL: https://issues.apache.org/jira/browse/HBASE-21922
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Guanghao Zhang
>            Assignee: Guanghao Zhang
>            Priority: Major
>         Attachments: HBASE-21922.master.001.patch, 
> HBASE-21922.master.002.patch, HBASE-21922.master.003.patch
>
>
> Assume we use '5' as the delimiter, there are rowkeys: row1 is smaller than 
> row2
> {code:java}
> row1: 12345xxx
> row2: 1235xxxx{code}
> When use ROWPREFIX_DELIMITED bloom filter, the rowkey write to bloom filter 
> are
> {code:java}
> row1's key for bloom filter: 1234
> row2's key for bloom fitler: 123{code}
> The row1's key for bloom filter is bigger than row2. Then 
> BloomContext#sanityCheck will failed.
> {code:java}
> private void sanityCheck(Cell cell) throws IOException {
>   if (this.getLastCell() != null) {
>     LOG.debug("Current cell " + cell + ", prevCell = " + this.getLastCell());
>     if (comparator.compare(cell, this.getLastCell()) <= 0) {
>       throw new IOException("Added a key not lexically larger than" + " 
> previous. Current cell = "
>           + cell + ", prevCell = " + this.getLastCell());
>     }
>   }
> }
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to