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 Tue, 30 Apr 2013 14:12:17 GMT

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

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

+1 for the runtime/xml conf behavior Matteo sketched.

On take snapshot vs drop rollback.  let's look at the use cases:
# table ok, use restore to get old data back.  Does it make sense to snapshot on restore?
 Yes. 
# table ok, use restore to get old data back but it fails... (leads to next case)
# table broken, use restore to fix.   Does snapshotting on the next restore attempt make sense?
(hm.. not really)
# table broken, using restore to get valid data back but it fails...  (go back to previous
case).

As initially envisioned, the snapshot on restore wasn't for a fixup case, but for retaining
"healthy" modifications before the restore.  In the cases of broken tables, cases 3,4 wants
the ability to skip taking the snapshot.  I'd argue that case 1 is the common case -- and
that case 3 and 4 are arguments for having an option for not snapshotting on restore. 

Dropping the rollback snapshot seems a little gratuitous -- we have the ability to do this
with existing commands don't we?
                
> 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
>
> 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