[
https://issues.apache.org/jira/browse/HBASE-23202?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Huaxiang Sun resolved HBASE-23202.
----------------------------------
Fix Version/s: 3.0.0-alpha-1
Resolution: Fixed
I updated the patch based on review comments (addressed the missed case when
snapshot working dir is different from the hbase root dir, added a new test
case for the described case), pushed the patch to branch-2.3, branch-2 and
master, resolving it.
> ExportSnapshot (import) will fail if copying files to root directory takes
> longer than cleaner TTL
> --------------------------------------------------------------------------------------------------
>
> Key: HBASE-23202
> URL: https://issues.apache.org/jira/browse/HBASE-23202
> Project: HBase
> Issue Type: Bug
> Components: snapshots
> Affects Versions: 3.0.0-alpha-1, 1.5.0, 2.2.1, 1.4.11, 2.1.7
> Reporter: Zach York
> Assignee: Guangxu Cheng
> Priority: Major
> Fix For: 3.0.0-alpha-1, 2.3.0
>
>
> HBASE-17330 removed the checking of the snapshot .tmp directory when
> determining which files are candidates for deletes. It appears that in the
> latest branches, this isn't an issue for taking a snapshot as it checks
> whether a snapshot is in progress via the SnapshotManager.
> However, when using the ExportSnapshot tool to import a snapshot into a
> cluster, it will first copy the snapshot manifest into
> /.snapshot/.tmp/<snapshot> [1], copies the files, and then renames the
> snapshot manifest to the final snapshot directory. If the copyFiles job takes
> longer than the cleaner TTL, the ExportSnapshot job will fail because HFiles
> will get deleted before the snapshot is committed to the final directory.
> The ExportSnapshot tool already has a functionality to skipTmp and write the
> manifest directly to the final location. However, this has unintended
> consequences such as the snapshot appearing to the user before it is usable.
> So it looks like we will have to bring back the tmp directory check to avoid
> this situation.
> [1]
> https://github.com/apache/hbase/blob/master/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/snapshot/ExportSnapshot.java#L1029
--
This message was sent by Atlassian Jira
(v8.3.4#803005)