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

Guanghao Zhang commented on HBASE-23345:
----------------------------------------

Need to change the Jira state to "Patch Available" to trigger HBase QA.

> Table need to replication unless all of cfs are excluded
> --------------------------------------------------------
>
>                 Key: HBASE-23345
>                 URL: https://issues.apache.org/jira/browse/HBASE-23345
>             Project: HBase
>          Issue Type: Bug
>          Components: Replication
>            Reporter: Sun Xin
>            Assignee: Sun Xin
>            Priority: Minor
>             Fix For: 3.0.0, 2.3.0, 2.2.3, 2.1.9
>
>         Attachments: HBASE-23345.branch-2.001.patch, 
> HBASE-23345.branch-2.002.patch, HBASE-23345.branch-2.002.patch
>
>
> There is duplicate code in ReplicationUtils.contains and 
> ReplicationPeerConfig.needToReplicate about deciding whether a table need 
> replicate to the peer cluster.
> And the implementation of ReplicationPeerConfig.needToReplicate has a bug, it 
> return false when replicateAllUserTables flag is true and excludeTableCFsMap 
> contains not all of cfs.
>  
> We should copy the code from ReplicationUtils.contains to 
> ReplicationPeerConfig.needToReplicate, and delete 
> ReplicationUtils.contains.Because ReplicationUtils is from module 
> replication, ReplicationPeerConfig is from module client, and module 
> replication depends on module client.
>  
> In the following code, ReplicationPeerConfig.needToReplicate return false, 
> when replicateAllUserTables flag is true and excludeTableCFsMap contains not 
> all of cfs.
> {code:java}
> public boolean needToReplicate(TableName table) {
>   if (replicateAllUserTables) {
>   ......
>     if (excludeTableCFsMap != null && excludeTableCFsMap.containsKey(table)) {
>       return false;
>     }
>   ......
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to