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:28:16 GMT

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

Jonathan Hsieh commented on HBASE-8465:

bq. Table being bad can mean two things: hbck would detect inconsistency or, table is in legitimate
state but the data inside the table is not desirable. In the second case, taking rollback
snapshot would help analyze how the table got into that state.

I believe currently if we fail mid-restore, we will be in a potentially bad data and bad metadata
(a table with regions stuck with different schemas!).  hbck can detectt this but I don't think
it could really fix it.

bq. If we add takeSnapshot option, do we still need the dropRollbackSnapshot option (when
takeSnapshot is true)?

Since we are disabled, and if we have the ability to specify the name of the failsafe snapshot,
the admin can delete the failsafe before enabling the restored table.  So I don't think this
is necessary to put all these options (e.g. both take failsafe and delete failsafe) into one
> 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

View raw message