[ https://issues.apache.org/jira/browse/HBASE-17460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ted Yu updated HBASE-17460: --------------------------- Attachment: 17460-addendum.v2.txt Corrected the condition pointed out above. result holds the return from compareTo() so it should be int. The return value has been changed to boolean. > 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.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)