You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Guanghao Zhang (JIRA)" <ji...@apache.org> on 2019/02/19 04:12:00 UTC

[jira] [Assigned] (HBASE-21922) BloomContext#sanityCheck may failed when use ROWPREFIX_DELIMITED bloom filter

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

Guanghao Zhang reassigned HBASE-21922:
--------------------------------------

    Assignee: Guanghao Zhang

> 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
>
>
> Assume we use '5' as the delimiter, there are rowkeys
> {code:java}
> 12345xxx
> 1235xxxx{code}
> When use ROWPREFIX_DELIMITED bloom filter, the rowkey write to bloom filter are
> {code:java}
> 1234
> 123{code}
> 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)