[
https://issues.apache.org/jira/browse/HBASE-21922?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16774983#comment-16774983
]
Guanghao Zhang commented on HBASE-21922:
----------------------------------------
Add a 002 patch and need to regenerte thrift java file as remove
ROWPREFIX_DELIMITED from hbase.thrift.
> 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
>
>
> 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)