[
https://issues.apache.org/jira/browse/HBASE-12183?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14161168#comment-14161168
]
Nick Dimiduk commented on HBASE-12183:
--------------------------------------
This is wrong.
{noformat}
- private static boolean isMax(byte fuzzyKeyByte) {
- return (fuzzyKeyByte & 0xFF) == 255;
+ private static boolean isMax(boolean reverse, byte fuzzyKeyByte) {
+ return fuzzyKeyByte == (reverse ? Byte.MIN_VALUE : Byte.MAX_VALUE);
{noformat}
Should be {{(byte) (reverse ? 0 : 0xff)}}
Simply zero-ing out existing bytes isn't correct for this either. Will need to
increment and truncate. Seems like this zero-ing strategy isn't working for
some edge cases as well.
> FuzzyRowFilter doesn't support reverse scans
> --------------------------------------------
>
> Key: HBASE-12183
> URL: https://issues.apache.org/jira/browse/HBASE-12183
> Project: HBase
> Issue Type: Bug
> Components: Filters
> Reporter: Nick Dimiduk
> Assignee: Nick Dimiduk
> Attachments: 12183.patch
>
>
> Try using the FuzzyRowFilter with a reversed scanner and you'll get an RPC
> timeout. Looking at the code, this filter ignores the reversed flag and
> always move forward when calculating the value of getNextCellHint.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)