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

Enis Soztutar commented on HBASE-15330:
---------------------------------------

I was thinking of something like: 
 - Save the HTDs with every backup, full or incremental. 
 - Restore operation creates the table from the snapshot HTD. 
 - Before replaying WALs, alter the table. 

However, one challenge is that, the table can be dropped, recreated, truncated 
etc in between, and it is not obvious how to handle a truncated table for 
example. 

On other challenge that above does not address is something like this: 
 - Create table t1 with CF1 
 - write some data
 - Full backup 
 - Alter table add CF2 
 - Write some data to CF1 + CF2 
 - Alter table to drop CF2 
 - Incremental backup t1. 

Now on restore replay, we cannot replay edits of CF2. One solution (that we do 
elsewhere as well) is to drop the cells for the CFs that does not belong to the 
table at the restore point. 

> HBase Backup/Restore Phase 3: support physical layout change of a table
> -----------------------------------------------------------------------
>
>                 Key: HBASE-15330
>                 URL: https://issues.apache.org/jira/browse/HBASE-15330
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Vladimir Rodionov
>
> Currently, we do not track physical layout change of a table. This can break 
> restore from incremental backup in case if new CF have been added to or 
> deleted from table between backup sessions. Brainstorming. It is not obvious, 
> how we could track table layout change and have efficient restore operation. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to