Skip to content

Backport "HBASE-29604 BackupHFileCleaner uses flawed time based check (#7360)" to branch-2.6 - #7380

Merged
ndimiduk merged 1 commit into
apache:branch-2.6from
ndimiduk:29604-branch-2.6
Oct 14, 2025
Merged

Backport "HBASE-29604 BackupHFileCleaner uses flawed time based check (#7360)" to branch-2.6#7380
ndimiduk merged 1 commit into
apache:branch-2.6from
ndimiduk:29604-branch-2.6

Conversation

@ndimiduk

Copy link
Copy Markdown
Member

Adds javadoc mentioning the concurrent usage and thread-safety need of FileCleanerDelegate#getDeletableFiles.

Fixes a potential thread-safety issue in BackupHFileCleaner: this class tracks timestamps to block the deletion of recently loaded HFiles that might be needed for backup purposes. The timestamps were being registered from inside the concurrent method, which could result in recently added files getting deleted. Moved the timestamp registration to the postClean method, which is called only a single time per cleaner run, so recently loaded HFiles are in fact protected from deletion.

)
Adds javadoc mentioning the concurrent usage and thread-safety need of
FileCleanerDelegate#getDeletableFiles.
Fixes a potential thread-safety issue in BackupHFileCleaner: this class
tracks timestamps to block the deletion of recently loaded HFiles that
might be needed for backup purposes. The timestamps were being registered
from inside the concurrent method, which could result in recently added
files getting deleted. Moved the timestamp registration to the postClean
method, which is called only a single time per cleaner run, so recently
loaded HFiles are in fact protected from deletion.
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
@ndimidukndimiduk added the backport This PR is a back port of some issue or issues already committed to master label Oct 13, 2025
@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeLogfileComment
+0 🆗reexec4m 9sDocker 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.6 Compile Tests _
+0 🆗mvndep0m 29sMaven dependency ordering for branch
+1 💚mvninstall7m 54sbranch-2.6 passed
+1 💚compile6m 2sbranch-2.6 passed
+1 💚checkstyle1m 19sbranch-2.6 passed
+1 💚spotbugs3m 46sbranch-2.6 passed
-1 ❌spotless1m 16sbranch has 21 errors when running spotless:check, run spotless:apply to fix.
_ Patch Compile Tests _
+0 🆗mvndep0m 25sMaven dependency ordering for patch
+1 💚mvninstall5m 54sthe patch passed
+1 💚compile4m 48sthe patch passed
+1 💚javac4m 48sthe patch passed
+1 💚blanks0m 0sThe patch has no blanks issues.
+1 💚checkstyle1m 7sthe patch passed
+1 💚spotbugs3m 17sthe patch passed
+1 💚hadoopcheck19m 44sPatch does not cause any errors with Hadoop 2.10.2 or 3.3.6 3.4.1.
-1 ❌spotless0m 49spatch has 21 errors when running spotless:check, run spotless:apply to fix.
_ Other Tests _
+1 💚asflicense0m 22sThe patch does not generate ASF License warnings.
64m 14s
SubsystemReport/Notes
DockerClientAPI=1.48 ServerAPI=1.48 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7380/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#7380
Optional Testsdupname asflicense javac spotbugs checkstyle codespell detsecrets compile hadoopcheck hbaseanti spotless
unameLinux fa05e311859d 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionbranch-2.6 / b4c2c98
Default JavaEclipse Adoptium-11.0.23+9
spotlesshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7380/1/artifact/yetus-general-check/output/branch-spotless.txt
spotlesshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7380/1/artifact/yetus-general-check/output/patch-spotless.txt
Max. process+thread count67 (vs. ulimit of 30000)
modulesC: hbase-server hbase-backup U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7380/1/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 15sDocker mode activated.
-0 ⚠️yetus0m 6sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck
_ Prechecks _
_ branch-2.6 Compile Tests _
+0 🆗mvndep0m 13sMaven dependency ordering for branch
+1 💚mvninstall4m 32sbranch-2.6 passed
+1 💚compile1m 43sbranch-2.6 passed
+1 💚javadoc0m 54sbranch-2.6 passed
+1 💚shadedjars7m 35sbranch has no errors when building our shaded downstream artifacts.
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall4m 47sthe patch passed
+1 💚compile1m 41sthe patch passed
+1 💚javac1m 41sthe patch passed
+1 💚javadoc0m 53sthe patch passed
+1 💚shadedjars7m 19spatch has no errors when building our shaded downstream artifacts.
_ Other Tests _
-1 ❌unit18m 1s/patch-unit-hbase-server.txthbase-server in the patch failed.
+1 💚unit19m 28shbase-backup in the patch passed.
69m 54s
SubsystemReport/Notes
DockerClientAPI=1.48 ServerAPI=1.48 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7380/1/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR#7380
Optional Testsjavac javadoc unit compile shadedjars
unameLinux 597e485f2477 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionbranch-2.6 / b4c2c98
Default JavaEclipse Adoptium-17.0.11+9
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7380/1/testReport/
Max. process+thread count2151 (vs. ulimit of 30000)
modulesC: hbase-server hbase-backup U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7380/1/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 50sDocker mode activated.
-0 ⚠️yetus0m 6sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck
_ Prechecks _
_ branch-2.6 Compile Tests _
+0 🆗mvndep0m 24sMaven dependency ordering for branch
+1 💚mvninstall2m 53sbranch-2.6 passed
+1 💚compile1m 3sbranch-2.6 passed
+1 💚javadoc0m 43sbranch-2.6 passed
+1 💚shadedjars5m 40sbranch has no errors when building our shaded downstream artifacts.
_ Patch Compile Tests _
+0 🆗mvndep0m 14sMaven dependency ordering for patch
+1 💚mvninstall2m 29sthe patch passed
+1 💚compile1m 1sthe patch passed
+1 💚javac1m 1sthe patch passed
+1 💚javadoc0m 39sthe patch passed
+1 💚shadedjars5m 36spatch has no errors when building our shaded downstream artifacts.
_ Other Tests _
+1 💚unit215m 26shbase-server in the patch passed.
+1 💚unit10m 42shbase-backup in the patch passed.
252m 3s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7380/1/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile
GITHUB PR#7380
Optional Testsjavac javadoc unit compile shadedjars
unameLinux 47c8ff0b0a34 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.6 / b4c2c98
Default JavaTemurin-1.8.0_412-b08
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7380/1/testReport/
Max. process+thread count3400 (vs. ulimit of 30000)
modulesC: hbase-server hbase-backup U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7380/1/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 44sDocker 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.6 Compile Tests _
+0 🆗mvndep0m 17sMaven dependency ordering for branch
+1 💚mvninstall3m 23sbranch-2.6 passed
+1 💚compile1m 9sbranch-2.6 passed
+1 💚javadoc0m 43sbranch-2.6 passed
+1 💚shadedjars6m 30sbranch has no errors when building our shaded downstream artifacts.
_ Patch Compile Tests _
+0 🆗mvndep0m 22sMaven dependency ordering for patch
+1 💚mvninstall2m 58sthe patch passed
+1 💚compile1m 8sthe patch passed
+1 💚javac1m 8sthe patch passed
+1 💚javadoc0m 38sthe patch passed
+1 💚shadedjars6m 29spatch has no errors when building our shaded downstream artifacts.
_ Other Tests _
+1 💚unit221m 15shbase-server in the patch passed.
+1 💚unit10m 51shbase-backup in the patch passed.
261m 26s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7380/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#7380
Optional Testsjavac javadoc unit compile shadedjars
unameLinux bf69c96f9334 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.6 / b4c2c98
Default JavaEclipse Adoptium-11.0.23+9
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7380/1/testReport/
Max. process+thread count3607 (vs. ulimit of 30000)
modulesC: hbase-server hbase-backup U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7380/1/console
versionsgit=2.34.1 maven=3.9.8
Powered byApache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@ndimiduk

Copy link
Copy Markdown
MemberAuthor

Spotless error exists on branch-2.6

@ndimiduk
ndimiduk merged commit 2261441 into apache:branch-2.6Oct 14, 2025
1 check failed
@ndimiduk
ndimiduk deleted the 29604-branch-2.6 branch October 14, 2025 08:37
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backportThis PR is a back port of some issue or issues already committed to master

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@ndimiduk@Apache-HBase@DieterDP-ng