Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
Remove bloom filter type ROWPREFIX_DELIMITED. May add it back when find a better solution.
Description
Assume we use '5' as the delimiter, there are rowkeys: row1 is smaller than row2
row1: 12345xxx row2: 1235xxxx
When use ROWPREFIX_DELIMITED bloom filter, the rowkey write to bloom filter are
row1's key for bloom filter: 1234 row2's key for bloom fitler: 123
The row1's key for bloom filter is bigger than row2. Then BloomContext#sanityCheck will failed.
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()); } } }
Attachments
Attachments
Issue Links
- is related to
-
HBASE-20636 Introduce two bloom filter type : ROWPREFIX_FIXED_LENGTH and ROWPREFIX_DELIMITED
- Resolved
- links to