[
https://issues.apache.org/jira/browse/HBASE-14302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14710269#comment-14710269
]
Enis Soztutar commented on HBASE-14302:
---------------------------------------
bq. there are two cases of MR over snapshot. when your snapshot is hosted
outside of the hbase cluster where you should have createBackRefs=False and
when you are on the hbase cluster reading the cluster files
The snapshot cannot be restored to the root directory anyway. We have an
explicit check for that in the {{copySnapshotForScanner()}} code.
bq. otherwise we don't have anything to prevent the user to remove the snapshot
and crash the MR job
The assumption has always been that the snapshot will stay there as long as the
MR job is running. But yes, there is no explicit guarantee. The back refs
without the patch cannot guarantee this anyway since the back refs are dangling
referring to hfile links outside the root dir.
> TableSnapshotInputFormat should not create back references when restoring
> snapshot
> ----------------------------------------------------------------------------------
>
> Key: HBASE-14302
> URL: https://issues.apache.org/jira/browse/HBASE-14302
> Project: HBase
> Issue Type: Bug
> Reporter: Enis Soztutar
> Assignee: Enis Soztutar
> Fix For: 2.0.0, 1.2.0, 1.3.0, 1.0.3, 1.1.3
>
> Attachments: hbase-14302_v1.patch
>
>
> TableSnapshotInputFormat restores the snapshot to a temporary directory that
> is outside the HBase's root directory so that it can read from the restored
> snapshot and also refer to hfiles in the actual root directory.
> In restoring the snapshot, we create new hfilelinks in the ephemeral
> location. Creating new hfile links also creates "back references" for GC.
> These back references are dangling since the restore location is outside the
> root dir, and requires a WRITE permission to the root dir (as opposed to just
> READ permission) to be able to run the MR-over-snapshot job.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)