[
https://issues.apache.org/jira/browse/HBASE-17852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16257502#comment-16257502
]
Vladimir Rodionov commented on HBASE-17852:
-------------------------------------------
Backup/Delete/Merge operations must be executed in a transactional manner.
Backup system table keeps data (meta-data) which allows to run backups and
others commands. During backup create, delete or merge, we update backup system
table multiple times and do not want these updates to be partial ones (when
operation fails), because *it will prevent further backups/deletes/merges after
a failure*.
That is why we take snapshot of a backup system table and restore this table
from snapshot, previously taken, in case of a command (create/delete/merge)
failure.
By consistency of data I mean - no partial updates should be visible to a user
after operation completes (either successfully or not). Partial updates in a
backup system tables == corruption of a system table and MUST be avoided. When
corruption happens - the only way to restore backup system is to truncate
backup system table and re-run all backups in full mode.
> Add Fault tolerance to HBASE-14417 (Support bulk loaded files in incremental
> backup)
> ------------------------------------------------------------------------------------
>
> Key: HBASE-17852
> URL: https://issues.apache.org/jira/browse/HBASE-17852
> Project: HBase
> Issue Type: Sub-task
> Reporter: Vladimir Rodionov
> Assignee: Vladimir Rodionov
> Fix For: 2.0.0-beta-1
>
> Attachments: HBASE-17852-v1.patch, HBASE-17852-v2.patch,
> HBASE-17852-v3.patch, HBASE-17852-v4.patch, HBASE-17852-v5.patch
>
>
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)