Skip to content

HBASE-28634 Fix FuzzyRowFilter may not return data on reverse scans - #6482

Merged
stoty merged 1 commit into
apache:branch-2from
PDavid:HBASE-28634-FuzzyRowFilter-reverse-no-data-branch-2
Nov 25, 2024
Merged

HBASE-28634 Fix FuzzyRowFilter may not return data on reverse scans#6482
stoty merged 1 commit into
apache:branch-2from
PDavid:HBASE-28634-FuzzyRowFilter-reverse-no-data-branch-2

Conversation

@PDavid

Copy link
Copy Markdown
Contributor

This is the backport of #6457 to branch-2

Changes:

  • Reproduced the issue with a mini cluster test.
  • Corrected reverse unit tests in TestFuzzyRowFilter as some expectations were not correct.
  • Fixed hint returned by FuzzyRowFilter.getNextForFuzzyRule() in the reverse case:
    • Before we only trimmed the trailing zeros from the hint in the forward scan case. From now on we also do this in the reverse case.
      • 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.
  • Made some small improvements to FuzzyRowFilter which IntelliJ IDEA suggested (final fields, simplifications).

@Apache-HBase

This comment has been minimized.

@Apache-HBase

This comment has been minimized.

@Apache-HBase

This comment has been minimized.

@Apache-HBase

This comment has been minimized.

Changes:
- Reproduced the issue with a mini cluster test.
- Corrected reverse unit tests in TestFuzzyRowFilter as some expectations were not correct.
- Fixed hint returned by FuzzyRowFilter.getNextForFuzzyRule() in the reverse case:
- Before we only trimmed the trailing zeros from the hint in the forward scan case. From now on we also do this in the reverse case.
- 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.
- Made some small improvements to FuzzyRowFilter which IntelliJ IDEA suggested (final fields, simplifications).
@PDavid
PDavidforce-pushed the HBASE-28634-FuzzyRowFilter-reverse-no-data-branch-2 branch from 01cff22 to c563552CompareNovember 20, 2024 12:58
@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeLogfileComment
+0 🆗reexec0m 0sDocker mode activated.
-1 ❌docker0m 8sDocker failed to build run-specific yetus/hbase:tp-16084}.
SubsystemReport/Notes
GITHUB PR#6482
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6482/2/console
versionsgit=2.25.1
Powered byApache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeLogfileComment
+0 🆗reexec0m 49sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗codespell0m 0scodespell was not available.
+0 🆗detsecrets0m 0sdetect-secrets was not available.
+1 💚@author0m 0sThe patch does not contain any @author tags.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
_ branch-2 Compile Tests _
+0 🆗mvndep0m 13sMaven dependency ordering for branch
+1 💚mvninstall2m 57sbranch-2 passed
+1 💚compile4m 18sbranch-2 passed
+1 💚checkstyle1m 15sbranch-2 passed
+1 💚spotbugs2m 58sbranch-2 passed
+1 💚spotless0m 46sbranch has no errors when running spotless:check.
_ Patch Compile Tests _
+0 🆗mvndep0m 13sMaven dependency ordering for patch
+1 💚mvninstall3m 0sthe patch passed
+1 💚compile4m 16sthe patch passed
+1 💚javac4m 16sthe patch passed
+1 💚blanks0m 0sThe patch has no blanks issues.
+1 💚checkstyle1m 11sthe patch passed
+1 💚spotbugs3m 22sthe patch passed
+1 💚hadoopcheck15m 0sPatch does not cause any errors with Hadoop 2.10.2 or 3.3.6 3.4.0.
+1 💚spotless0m 45spatch has no errors when running spotless:check.
_ Other Tests _
+1 💚asflicense0m 32sThe patch does not generate ASF License warnings.
43m 58s
SubsystemReport/Notes
DockerClientAPI=1.47 ServerAPI=1.47 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6482/2/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#6482
Optional Testsdupname asflicense javac spotbugs checkstyle codespell detsecrets compile hadoopcheck hbaseanti spotless
unameLinux b8bbd94db195 5.4.0-195-generic #215-Ubuntu SMP Fri Aug 2 18:28:05 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionbranch-2 / c563552
Default JavaEclipse Adoptium-11.0.23+9
Max. process+thread count78 (vs. ulimit of 30000)
modulesC: hbase-common hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6482/2/console
versionsgit=2.34.1 maven=3.9.8 spotbugs=4.7.3
Powered byApache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeLogfileComment
+0 🆗reexec0m 51sDocker mode activated.
-0 ⚠️yetus0m 4sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck
_ Prechecks _
_ branch-2 Compile Tests _
+0 🆗mvndep0m 11sMaven dependency ordering for branch
+1 💚mvninstall3m 44sbranch-2 passed
+1 💚compile1m 58sbranch-2 passed
+1 💚javadoc1m 14sbranch-2 passed
+1 💚shadedjars6m 38sbranch has no errors when building our shaded downstream artifacts.
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall4m 16sthe patch passed
+1 💚compile2m 5sthe patch passed
+1 💚javac2m 5sthe patch passed
+1 💚javadoc1m 18sthe patch passed
+1 💚shadedjars6m 12spatch has no errors when building our shaded downstream artifacts.
_ Other Tests _
+1 💚unit2m 13shbase-common in the patch passed.
+1 💚unit8m 17shbase-client in the patch passed.
-1 ❌unit12m 29s/patch-unit-hbase-server.txthbase-server in the patch failed.
54m 17s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6482/2/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR#6482
Optional Testsjavac javadoc unit compile shadedjars
unameLinux 0df62c57c32e 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionbranch-2 / c563552
Default JavaEclipse Adoptium-17.0.11+9
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6482/2/testReport/
Max. process+thread count1825 (vs. ulimit of 30000)
modulesC: hbase-common hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6482/2/console
versionsgit=2.34.1 maven=3.9.8
Powered byApache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeLogfileComment
+0 🆗reexec0m 47sDocker mode activated.
-0 ⚠️yetus0m 5sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck
_ Prechecks _
_ branch-2 Compile Tests _
+0 🆗mvndep0m 12sMaven dependency ordering for branch
+1 💚mvninstall2m 27sbranch-2 passed
+1 💚compile1m 22sbranch-2 passed
+1 💚javadoc0m 58sbranch-2 passed
+1 💚shadedjars4m 45sbranch has no errors when building our shaded downstream artifacts.
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall2m 22sthe patch passed
+1 💚compile1m 23sthe patch passed
+1 💚javac1m 23sthe patch passed
+1 💚javadoc0m 59sthe patch passed
+1 💚shadedjars4m 47spatch has no errors when building our shaded downstream artifacts.
_ Other Tests _
+1 💚unit2m 3shbase-common in the patch passed.
+1 💚unit8m 3shbase-client in the patch passed.
-1 ❌unit227m 57s/patch-unit-hbase-server.txthbase-server in the patch failed.
263m 50s
SubsystemReport/Notes
DockerClientAPI=1.47 ServerAPI=1.47 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6482/2/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile
GITHUB PR#6482
Optional Testsjavac javadoc unit compile shadedjars
unameLinux c0c8232f3aa0 5.4.0-195-generic #215-Ubuntu SMP Fri Aug 2 18:28:05 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionbranch-2 / c563552
Default JavaTemurin-1.8.0_412-b08
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6482/2/testReport/
Max. process+thread count4186 (vs. ulimit of 30000)
modulesC: hbase-common hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6482/2/console
versionsgit=2.34.1 maven=3.9.8
Powered byApache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@PDavid
PDavid marked this pull request as ready for review November 22, 2024 08:26
@PDavidPDavid closed this Nov 25, 2024
@PDavid
PDavid deleted the HBASE-28634-FuzzyRowFilter-reverse-no-data-branch-2 branch November 25, 2024 07:09
@PDavid
PDavid restored the HBASE-28634-FuzzyRowFilter-reverse-no-data-branch-2 branch November 25, 2024 07:09
@PDavid

Copy link
Copy Markdown
ContributorAuthor

Sorry, I closed this by accident 😅

@PDavidPDavid reopened this Nov 25, 2024
@stoty
stoty merged commit 20e510f into apache:branch-2Nov 25, 2024
@PDavid
PDavid deleted the HBASE-28634-FuzzyRowFilter-reverse-no-data-branch-2 branch November 25, 2024 09:03
stoty pushed a commit that referenced this pull request Nov 25, 2024
…6482)
Signed-off-by: Istvan Toth <stoty@apache.org>
(cherry picked from commit 20e510f)
stoty pushed a commit that referenced this pull request Nov 25, 2024
…6482)
Signed-off-by: Istvan Toth <stoty@apache.org>
(cherry picked from commit 20e510f)
mokai87 pushed a commit to mokai87/hbase that referenced this pull request Aug 7, 2025
sanjeet006py pushed a commit to sanjeet006py/hbase that referenced this pull request Sep 26, 2025
…pache#6482)
Signed-off-by: Istvan Toth <stoty@apache.org>
(cherry picked from commit 20e510f)
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@PDavid@Apache-HBase@stoty