hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Hsieh (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-8465) Auto-drop rollback snapshot for snapshot restore
Date Wed, 01 May 2013 23:08:16 GMT

    [ https://issues.apache.org/jira/browse/HBASE-8465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13647045#comment-13647045
] 

Jonathan Hsieh commented on HBASE-8465:
---------------------------------------

This is why I wrote this comment:
https://issues.apache.org/jira/browse/HBASE-8465?focusedCommentId=13645603&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13645603

One underlying assumption is that snapshots are in a good state (they have to be to pass the
verification step when taking a snapshot).  Operations working on a table can fail, and leave
the table in a bad state (for example: master crash mid-restore, mid-alter).  Thus I think
it is more likely to have a bad table than a bad snapshot.

Looking at the cases, it seems to make more sense to provide the admin the option to skip
taking the snapshot (if our table is currently bad) so that we only have good snapshots. 
Taking the snapshot and then deleting it seems like unnecessary work.  

                
> Auto-drop rollback snapshot for snapshot restore
> ------------------------------------------------
>
>                 Key: HBASE-8465
>                 URL: https://issues.apache.org/jira/browse/HBASE-8465
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Ted Yu
>            Assignee: Ted Yu
>             Fix For: 0.98.0, 0.95.1
>
>         Attachments: 8465-trunk-v1.txt, 8465-trunk-v2.txt
>
>
> Below is an excerpt from snapshot restore javadoc:
> {code}
>    * Restore the specified snapshot on the original table. (The table must be disabled)
>    * Before restoring the table, a new snapshot with the current table state is created.
>    * In case of failure, the table will be rolled back to the its original state.
> {code}
> We can improve the handling of rollbackSnapshot in two ways:
> 1. give better name to the rollbackSnapshot (adding {code}'-for-rollback-'{code}). Currently
the name is of the form:
>     String rollbackSnapshot = snapshotName + "-" + EnvironmentEdgeManager.currentTimeMillis();
> 2. drop rollbackSnapshot at the end of restoreSnapshot() if the restore is successful.
We can introduce new config param, named 'hbase.snapshot.restore.drop.rollback', to keep compatibility
with current behavior.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message