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/11/28 10:55:00 UTC
[jira] [Updated] (HBASE-23345) Duplicate code
[ https://issues.apache.org/jira/browse/HBASE-23345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sun Xin updated HBASE-23345:
----------------------------
Summary: Duplicate code (was: Table need to replication unless all of cfs are excluded)
> Duplicate code
> ---------------
>
> 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
>
> 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)