[
https://issues.apache.org/jira/browse/HBASE-23345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Guanghao Zhang updated HBASE-23345:
-----------------------------------
Status: Patch Available (was: Open)
> 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,
> 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)