[
https://issues.apache.org/jira/browse/HBASE-16953?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jan Van Besien updated HBASE-16953:
-----------------------------------
Attachment: HBASE-16953-avoid-window-without-snapshot.patch
Attached is a very rough patch to better explain what I mean.
In the patch, I use a UUID to temporary move the existing snapshot out of the
way, without loosing it. This works but I don't like it because it is difficult
to implement an automated snapshot-restore procedure on top of possible random
snapshot names. Ideally I would want a predictable suffix such that while
restoring a snapshot I always know that I can either find it with the name I
was using or the name + a fixed suffix. However, choosing a fixed suffix is of
course problematic because people might already use that as part of their own
snapshot names. Ideas welcome.
> ExportSnapshot -overwrite is not atomic (enough)
> ------------------------------------------------
>
> Key: HBASE-16953
> URL: https://issues.apache.org/jira/browse/HBASE-16953
> Project: HBase
> Issue Type: Improvement
> Reporter: Jan Van Besien
> Attachments: HBASE-16953-avoid-window-without-snapshot.patch
>
>
> Use case: we use hbase snapshots and ExportSnapshot to regularly export
> snapshots to another cluster. We want to have a snapshot ready on the
> destination cluster at all times.
> Currently this requires either to use new unique snapshot names every time
> (which is cumbersome and also requires regular cleanup) or to use the
> '-overwrite' option of the ExportSnapshot tool. However the -overwrite option
> is implemented such that the snapshot dir (in /hbase/.hbase-snapshot) is
> deleted before copying the actual data files and only recreated (atomically
> renamed from inside /hbase/.hbase-snapshot/.tmp) afterwards. This leaves a
> (large) window in which there is no snapshot at all on the destination
> cluster.
> Wouldn't it be better to leave the old snapshot in place (perhaps renamed or
> moved in a separate directory) all the way until after the atomic rename of
> the new snapshot. That would ensure there is always a working snapshot when
> using ExportSnapshot for this use case.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)