[
https://issues.apache.org/jira/browse/HBASE-21922?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16774054#comment-16774054
]
Guanghao Zhang edited comment on HBASE-21922 at 2/21/19 1:04 PM:
-----------------------------------------------------------------
The ROWPREFIX_DELIMITED bloom filter was introduced by HBASE-20636. But not
released now. So another soluation is remove this feature as this break the
assumption of row order. Ping [~andrewcheng] [~Apache9] [~stack]
was (Author: zghaobac):
The ROWPREFIX_DELIMITED bloom filter was introduced by HBASE-20636. But not
released now. So another soluation is remove this feature as this break the
assumption of row order.
> 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: 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)