You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Sun Xin (Jira)" <ji...@apache.org> on 2019/12/02 07:15:00 UTC

[jira] [Updated] (HBASE-23345) Duplicate code about deciding whether a table need replicate

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

Sun Xin updated HBASE-23345:
----------------------------
    Attachment: HBASE-23345.branch-2.001.patch

>  Duplicate code about deciding whether a table need replicate
> -------------------------------------------------------------
>
>                 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: Major
>         Attachments: HBASE-23345.branch-2.001.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)