[
https://issues.apache.org/jira/browse/HBASE-24442?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Huaxiang Sun updated HBASE-24442:
---------------------------------
Description: This is a followup Jira to add test coverage for HBASE-23202,
it is broken since there is no test coverage. Will try to add an unittest for
this case to avoid future broke. (was: 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)
> Test coverage for HBASE-23202 - ExportSnapshot (import) will fail if copying
> files to root directory takes longer than cleaner TTL
> ----------------------------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-24442
> URL: https://issues.apache.org/jira/browse/HBASE-24442
> 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
>
> This is a followup Jira to add test coverage for HBASE-23202, it is broken
> since there is no test coverage. Will try to add an unittest for this case to
> avoid future broke.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)