[ 
https://issues.apache.org/jira/browse/HBASE-17460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-17460:
---------------------------
    Release Note: 
Fixing enable_table_replication for cyclic replication.

Previously if the replication is enabled , user executes the enable table 
replication command again and If table descriptor matches, it will check the 
replication scope for each column family and if any of the column family scope 
is not enabled, it will enable it. Otherwise nothing is done and final result 
is success.


  was:
Fixing enable_table_replication for cyclic replication.

Previously if the replication is enabled , user executes the enable table 
replication command again and If table descriptor matches, it will check the 
replication scope for each column family and if any of the column family scope 
is not enabled, it will enable it. Otherwise nothing is done and final result 
is success.

But as per the patch, it will throw exception if replication is already enabled 
for some column family.


> enable_table_replication can not perform cyclic replication of a table
> ----------------------------------------------------------------------
>
>                 Key: HBASE-17460
>                 URL: https://issues.apache.org/jira/browse/HBASE-17460
>             Project: HBase
>          Issue Type: Bug
>          Components: Replication
>            Reporter: NITIN VERMA
>            Assignee: NITIN VERMA
>              Labels: incompatibleChange, replication
>             Fix For: 2.0.0
>
>         Attachments: 17460-addendum.txt, 17460-addendum.v2.txt, 
> 17460.branch-1.v3.txt, 17460.v5.txt, HBASE-17460-addendum2.patch, 
> HBASE-17460-addendum2-v2.patch, HBASE-17460-addendum2-v3.patch, 
> HBASE-17460-addendum2-v4.patch, 
> HBASE-17460-branch-1-v5-addendumv2-addendum2v4.patch, 
> HBASE-17460-branch-1-v5-addendumv2-addendum2v4-v2.patch, 
> HBASE-17460-branch-1-v5-plusaddendum-v2.patch, HBASE-17460.patch, 
> HBASE-17460_v2.patch, HBASE-17460_v3.patch, HBASE-17460_v4.patch
>
>   Original Estimate: 96h
>  Remaining Estimate: 96h
>
> The enable_table_replication operation is broken for cyclic replication of 
> HBase table as we compare all the properties of column families (including 
> REPLICATION_SCOPE). 
> Below is exactly what happens:
> 1.  Running "enable_table_replication 'table1'  " opeartion on first cluster 
> will set the REPLICATION_SCOPE of all column families to peer id '1'. This 
> will also create a table on second cluster where REPLICATION_SCOPE is still 
> set to peer id '0'.
> 2. Now when we run "enable_table_replication 'table1'" on second cluster, we 
> compare all the properties of table (including REPLICATION_SCOPE_, which 
> obviously is different now. 
> I am proposing a fix for this issue where we should avoid comparing 
> REPLICATION_SCOPE inside HColumnDescriotor::compareTo() method, especially 
> when replication is not already enabled on the desired table.
> I have made that change and it is working. I will submit the patch soon.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to