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

Guanghao Zhang commented on HBASE-16868:
----------------------------------------

bq. Is this change acceptable ?
This behavior change is introduced by the change of 
ReplicationAdmin.setPeerTableCFs. As we deprecated it in hbase 2.0 and 
introduce new api in Admin. So the new api will have new behavior in 2.0. I 
thought we can only change the implementation of 
ReplicationAdmin.setPeerTableCFs to keep it same with old implementation. Then 
this is acceptable?
{code}
  @Deprecated
  public void setPeerTableCFs(String id, Map<TableName, ? extends 
Collection<String>> tableCfs)
      throws IOException {
    ReplicationPeerConfig peerConfig = getPeerConfig(id);
    peerConfig.setTableCFsMap(tableCfs);
    // handle the replicate_all flag to keep compatibility with the old 
implementation
    updatePeerConfig(id, peerConfig);
  }
{code}

> Add a replicate_all flag to avoid misuse the namespaces and table-cfs config 
> of replication peer
> ------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-16868
>                 URL: https://issues.apache.org/jira/browse/HBASE-16868
>             Project: HBase
>          Issue Type: Improvement
>          Components: Replication
>    Affects Versions: 2.0.0, 3.0.0
>            Reporter: Guanghao Zhang
>            Assignee: Guanghao Zhang
>            Priority: Critical
>             Fix For: 2.0.0-beta-1
>
>         Attachments: HBASE-16868.master.001.patch, 
> HBASE-16868.master.002.patch, HBASE-16868.master.003.patch, 
> HBASE-16868.master.004.patch, HBASE-16868.master.005.patch, 
> HBASE-16868.master.006.patch, HBASE-16868.master.007.patch, 
> HBASE-16868.master.008.patch
>
>
> First add a new peer by shell cmd.
> {code}
> add_peer '1', CLUSTER_KEY => "server1.cie.com:2181:/hbase".
> {code}
> If we don't set namespaces and table cfs in peer config. It means replicate 
> all tables to the peer cluster.
> Then append a table to the peer config.
> {code}
> append_peer_tableCFs '1', {"table1" => []}
> {code}
> Then this peer will only replicate table1 to the peer cluster. It changes to 
> replicate only one table from replicate all tables in the cluster. It is very 
> easy to misuse in production cluster. So we should avoid appending table to a 
> peer which replicates all table.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to