Uh oh!
There was an error while loading. Please reload this page.
HBASE-28634 Fix FuzzyRowFilter may not return data on reverse scans - #6457
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
9abb459 to
ed2e4a5Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
PDavid
commented
Nov 13, 2024
In the latest PR build two unit tests failed:
For me, these look unrelated and I was able to successfully run these tests locally. |
ed2e4a5 to
c03e416Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Reproduced the issue with a mini cluster test.
Some expectations were not correct. Also extracted PrefixFilter.increaseLastNonMaxByte() method to PrivateCellUtil so that it can be reused in FuzzyRowFilter.
…() when the hint should contain a 0xFF As a start, when we have a reverse scan, we not only need trailing 0xff's instead of trailing 0x00's, but it seems we always need 0xff's instead of the 0x00's.
…GetNextForFuzzyRuleForward
to not start another minicluster needlessly.
c03e416 to
348b364CompareUh oh!
There was an error while loading. Please reload this page.
| @Override | ||
| public ReturnCode filterCell(final Cell c) { | ||
| final int startIndex = lastFoundIndex >= 0 ? lastFoundIndex : 0; | ||
| final int startIndex = Math.max(lastFoundIndex, 0); |
There was a problem hiding this comment.
I have checked, this compiles to the same inline, so it's not a performance problem.
There was a problem hiding this comment.
Many thanks. 👍
Yes, this line change was not because of performance. Actually here just IntelliJ IDEA suggested to replace this to make it simpler to understand. It can be reverted if needed.
stoty
commented
Nov 18, 2024
Thank you. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
As the comment did not make much sense without the mask and current row.
Apache-HBase
commented
Nov 20, 2024
🎊 +1 overall
This message was automatically generated. |
PDavid
commented
Nov 20, 2024
Prepared a backport PR for |
The FuzzyRowFilter reverse scan related code was added under HBASE-12183.
My Changes:
TestFuzzyRowFilteras some expectations were not correct.FuzzyRowFilter.getNextForFuzzyRule()in the reverse case:PrefixFilter.increaseLastNonMaxByte()method toPrivateCellUtilso that it can be reused inFuzzyRowFilter.0xFF. As a start, when we have a reverse scan, we not only need trailing0xff's instead of trailing0x00's, but it seems we always need0xff's instead of the0x00's.FuzzyRowFilterwhich IntelliJ IDEA suggested (final fields, simplifications).