[ 
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)

Reply via email to