[
https://issues.apache.org/jira/browse/HBASE-29604?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18029629#comment-18029629
]
Hudson commented on HBASE-29604:
--------------------------------
Results for branch master
[build #1357 on
builds.a.o|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/1357/]:
(x) *{color:red}-1 overall{color}*
----
details (if available):
(x) {color:red}-1 general checks{color}
-- For more information [see general
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/1357/General_20Nightly_20Build_20Report/]
(/) {color:green}+1 jdk17 hadoop3 checks{color}
-- For more information [see jdk17
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/1357/JDK17_20Nightly_20Build_20Report_20_28Hadoop3_29/]
(/) {color:green}+1 jdk17 hadoop 3.3.5 backward compatibility checks{color}
-- For more information [see jdk17
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/1357/JDK17_20Nightly_20Build_20Report_20_28Hadoop3_29/]
(/) {color:green}+1 jdk17 hadoop 3.3.6 backward compatibility checks{color}
-- For more information [see jdk17
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/1357/JDK17_20Nightly_20Build_20Report_20_28Hadoop3_29/]
(/) {color:green}+1 jdk17 hadoop 3.4.0 backward compatibility checks{color}
-- For more information [see jdk17
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/1357/JDK17_20Nightly_20Build_20Report_20_28Hadoop3_29/]
(x) {color:red}-1 jdk17 hadoop 3.4.1 backward compatibility checks{color}
-- For more information [see jdk17
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/1357/JDK17_20Nightly_20Build_20Report_20_28Hadoop3_29/]
(/) {color:green}+1 source release artifact{color}
-- See build output for details.
(/) {color:green}+1 client integration test for 3.3.5 {color}
(/) {color:green}+1 client integration test for 3.3.6 {color}
(/) {color:green}+1 client integration test for 3.4.0 {color}
(/) {color:green}+1 client integration test for 3.4.1 {color}
(/) {color:green}+1 client integration test for 3.4.2 {color}
> BackupHFileCleaner uses flawed time based check
> -----------------------------------------------
>
> Key: HBASE-29604
> URL: https://issues.apache.org/jira/browse/HBASE-29604
> Project: HBase
> Issue Type: Bug
> Components: backup&restore
> Affects Versions: 2.6.0, 3.0.0-beta-1, 4.0.0-alpha-1
> Reporter: Dieter De Paepe
> Assignee: Dieter De Paepe
> Priority: Critical
> Labels: pull-request-available
> Fix For: 4.0.0-alpha-1, 3.0.0-beta-2
>
>
> BackupHFileCleaner is responsible for preventing the cleanup of bulkloaded
> HFiles that are still required by the backup & restore mechanism. It does
> this using 2 checks:
> * The backupsystemtable stores which HFile bulk loads are required for the
> next incremental backup. Any HFile present here cannot be deleted.
> * A time-based check is present to avoid recently created HFiles from being
> deleted. The intention is to avoid deletion of HFiles newer than the previous
> run of the cleaner. I believe is to avoid race conditions between the cleaner
> and entries in the backupsystemtable that get created while the cleaner is
> running.
> In a single-threaded context, this works correctly.
> However, the cleaner is actually used concurrently in the
> hfile_cleaner-dir-scan-pool to scan multiple subdirectories in
> `CleanerChore#traverseAndDelete` (line 492). This means the time-based check
> is not guaranteed to protect recently created HFiles. This has a (small)
> chance to cause data loss (in a backup) if an HFile is wrongfully deleted.
> I also strongly suggest to add a mention to FileCleanerDelegate that
> implementations should be thread-safe.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)