hbase-issues mailing list archives

[jira] [Commented] (HBASE-17460) enable_table_replication can not perform cyclic replication of a table

Date

Mon, 13 Feb 2017 23:53:42 GMT

[ https://issues.apache.org/jira/browse/HBASE-17460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15864716#comment-15864716
]
Ted Yu commented on HBASE-17460:
--------------------------------
This test fails in branch-1:
{code}
testEnableReplicationWhenSlaveClusterDoesntHaveTable(org.apache.hadoop.hbase.client.replication.TestReplicationAdminWithClusters)
Time elapsed: 3.89 sec <<< ERROR!
java.lang.IllegalArgumentException: Table test has replication already enabled for atleast
one Column Family.
at org.apache.hadoop.hbase.client.replication.TestReplicationAdminWithClusters.testEnableReplicationWhenSlaveClusterDoesntHaveTable(TestReplicationAdminWithClusters.java:77)
{code}
[~nitin.verma@gmail.com]:
Can you take a look ?
> 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: replication
> Fix For: 2.0.0, 1.4.0
>
> Attachments: 17460.branch-1.v3.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)