This is an automated email from the ASF dual-hosted git repository.

chia7712 pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 9e809be4ce9 KAFKA-17529 Remove blacklist from MM2 (#17202)
9e809be4ce9 is described below

commit 9e809be4ce99578a7de1596335061b71eda11d9d
Author: Chia-Chuan Yu <[email protected]>
AuthorDate: Mon Oct 7 13:21:31 2024 +0800

    KAFKA-17529 Remove blacklist from MM2 (#17202)
    
    Reviewers: Chia-Ping Tsai <[email protected]>
---
 .../mirror/DefaultConfigPropertyFilter.java        | 10 +----
 .../kafka/connect/mirror/DefaultGroupFilter.java   | 12 +-----
 .../kafka/connect/mirror/DefaultTopicFilter.java   | 12 +-----
 .../connect/mirror/MirrorCheckpointConfig.java     | 12 +-----
 .../kafka/connect/mirror/MirrorSourceConfig.java   | 19 +--------
 .../connect/mirror/MirrorMakerConfigTest.java      | 48 ----------------------
 .../connect/mirror/MirrorSourceConfigTest.java     | 11 -----
 docs/upgrade.html                                  |  9 ++++
 8 files changed, 16 insertions(+), 117 deletions(-)

diff --git 
a/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/DefaultConfigPropertyFilter.java
 
b/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/DefaultConfigPropertyFilter.java
index a464e8f9352..c5695204962 100644
--- 
a/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/DefaultConfigPropertyFilter.java
+++ 
b/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/DefaultConfigPropertyFilter.java
@@ -20,7 +20,6 @@ import org.apache.kafka.common.config.AbstractConfig;
 import org.apache.kafka.common.config.ConfigDef;
 import org.apache.kafka.common.config.ConfigDef.Importance;
 import org.apache.kafka.common.config.ConfigDef.Type;
-import org.apache.kafka.common.utils.ConfigUtils;
 
 import java.util.Map;
 import java.util.regex.Pattern;
@@ -29,7 +28,6 @@ import java.util.regex.Pattern;
 public class DefaultConfigPropertyFilter implements ConfigPropertyFilter {
     
     public static final String CONFIG_PROPERTIES_EXCLUDE_CONFIG = 
"config.properties.exclude";
-    public static final String CONFIG_PROPERTIES_EXCLUDE_ALIAS_CONFIG = 
"config.properties.blacklist";
     public static final String USE_DEFAULTS_FROM = "use.defaults.from";
     private static final String USE_DEFAULTS_FROM_DOC = "Which cluster's 
defaults (source or target) to use "
                                                         + "when syncing topic 
configurations that have default values.";
@@ -75,11 +73,6 @@ public class DefaultConfigPropertyFilter implements 
ConfigPropertyFilter {
                     CONFIG_PROPERTIES_EXCLUDE_DEFAULT,
                     Importance.HIGH,
                     CONFIG_PROPERTIES_EXCLUDE_DOC)
-            .define(CONFIG_PROPERTIES_EXCLUDE_ALIAS_CONFIG,
-                    Type.LIST,
-                    null,
-                    Importance.HIGH,
-                    "Deprecated. Use " + CONFIG_PROPERTIES_EXCLUDE_CONFIG + " 
instead.")
             .define(USE_DEFAULTS_FROM,
                     Type.STRING,
                     USE_DEFAULTS_FROM_DEFAULT,
@@ -88,8 +81,7 @@ public class DefaultConfigPropertyFilter implements 
ConfigPropertyFilter {
 
 
         ConfigPropertyFilterConfig(Map<String, ?> props) {
-            super(DEF, ConfigUtils.translateDeprecatedConfigs(props, new 
String[][]{
-                {CONFIG_PROPERTIES_EXCLUDE_CONFIG, 
CONFIG_PROPERTIES_EXCLUDE_ALIAS_CONFIG}}), false);
+            super(DEF, props, false);
         }
 
         Pattern excludePattern() {
diff --git 
a/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/DefaultGroupFilter.java
 
b/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/DefaultGroupFilter.java
index ccf0d3790f7..f88ed4e7046 100644
--- 
a/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/DefaultGroupFilter.java
+++ 
b/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/DefaultGroupFilter.java
@@ -20,7 +20,6 @@ import org.apache.kafka.common.config.AbstractConfig;
 import org.apache.kafka.common.config.ConfigDef;
 import org.apache.kafka.common.config.ConfigDef.Importance;
 import org.apache.kafka.common.config.ConfigDef.Type;
-import org.apache.kafka.common.utils.ConfigUtils;
 
 import java.util.Map;
 import java.util.regex.Pattern;
@@ -33,7 +32,6 @@ public class DefaultGroupFilter implements GroupFilter {
     public static final String GROUPS_INCLUDE_DEFAULT = ".*";
 
     public static final String GROUPS_EXCLUDE_CONFIG = "groups.exclude";
-    public static final String GROUPS_EXCLUDE_CONFIG_ALIAS = 
"groups.blacklist";
 
     private static final String GROUPS_EXCLUDE_DOC = "List of consumer group 
names and/or regexes that should not be replicated.";
     public static final String GROUPS_EXCLUDE_DEFAULT = "console-consumer-.*, 
connect-.*, __.*";
@@ -73,16 +71,10 @@ public class DefaultGroupFilter implements GroupFilter {
                     Type.LIST,
                     GROUPS_EXCLUDE_DEFAULT,
                     Importance.HIGH,
-                    GROUPS_EXCLUDE_DOC)
-            .define(GROUPS_EXCLUDE_CONFIG_ALIAS,
-                    Type.LIST,
-                    null,
-                    Importance.HIGH,
-                    "Deprecated. Use " + GROUPS_EXCLUDE_CONFIG + " instead.");
+                    GROUPS_EXCLUDE_DOC);
 
         GroupFilterConfig(Map<String, ?> props) {
-            super(DEF, ConfigUtils.translateDeprecatedConfigs(props, new 
String[][]{
-                {GROUPS_EXCLUDE_CONFIG, GROUPS_EXCLUDE_CONFIG_ALIAS}}), false);
+            super(DEF, props, false);
         }
 
         Pattern includePattern() {
diff --git 
a/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/DefaultTopicFilter.java
 
b/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/DefaultTopicFilter.java
index 2fa4e193776..35da6132c9f 100644
--- 
a/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/DefaultTopicFilter.java
+++ 
b/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/DefaultTopicFilter.java
@@ -20,7 +20,6 @@ import org.apache.kafka.common.config.AbstractConfig;
 import org.apache.kafka.common.config.ConfigDef;
 import org.apache.kafka.common.config.ConfigDef.Importance;
 import org.apache.kafka.common.config.ConfigDef.Type;
-import org.apache.kafka.common.utils.ConfigUtils;
 
 import java.util.Map;
 import java.util.regex.Pattern;
@@ -33,7 +32,6 @@ public class DefaultTopicFilter implements TopicFilter {
     public static final String TOPICS_INCLUDE_DEFAULT = ".*";
 
     public static final String TOPICS_EXCLUDE_CONFIG = "topics.exclude";
-    public static final String TOPICS_EXCLUDE_CONFIG_ALIAS = 
"topics.blacklist";
     private static final String TOPICS_EXCLUDE_DOC = "List of topics and/or 
regexes that should not be replicated.";
     public static final String TOPICS_EXCLUDE_DEFAULT = ".*[\\-\\.]internal, 
.*\\.replica, __.*";
 
@@ -72,16 +70,10 @@ public class DefaultTopicFilter implements TopicFilter {
                     Type.LIST,
                     TOPICS_EXCLUDE_DEFAULT,
                     Importance.HIGH,
-                    TOPICS_EXCLUDE_DOC)
-            .define(TOPICS_EXCLUDE_CONFIG_ALIAS,
-                    Type.LIST,
-                    null,
-                    Importance.HIGH,
-                    "Deprecated. Use " + TOPICS_EXCLUDE_CONFIG + " instead.");
+                    TOPICS_EXCLUDE_DOC);
 
         TopicFilterConfig(Map<String, ?> props) {
-            super(DEF, ConfigUtils.translateDeprecatedConfigs(props, new 
String[][]{
-                {TOPICS_EXCLUDE_CONFIG, TOPICS_EXCLUDE_CONFIG_ALIAS}}), false);
+            super(DEF, props, false);
         }
 
         Pattern includePattern() {
diff --git 
a/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/MirrorCheckpointConfig.java
 
b/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/MirrorCheckpointConfig.java
index 81e12a45014..3fb2859d2dd 100644
--- 
a/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/MirrorCheckpointConfig.java
+++ 
b/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/MirrorCheckpointConfig.java
@@ -17,7 +17,6 @@
 package org.apache.kafka.connect.mirror;
 
 import org.apache.kafka.common.config.ConfigDef;
-import org.apache.kafka.common.utils.ConfigUtils;
 
 import java.time.Duration;
 import java.util.HashMap;
@@ -33,7 +32,6 @@ public class MirrorCheckpointConfig extends 
MirrorConnectorConfig {
     public static final String GROUPS_DEFAULT = 
DefaultGroupFilter.GROUPS_INCLUDE_DEFAULT;
     private static final String GROUPS_DOC = "Consumer groups to replicate. 
Supports comma-separated group IDs and regexes.";
     public static final String GROUPS_EXCLUDE = 
DefaultGroupFilter.GROUPS_EXCLUDE_CONFIG;
-    public static final String GROUPS_EXCLUDE_ALIAS = 
DefaultGroupFilter.GROUPS_EXCLUDE_CONFIG_ALIAS;
 
     public static final String GROUPS_EXCLUDE_DEFAULT = 
DefaultGroupFilter.GROUPS_EXCLUDE_DEFAULT;
     private static final String GROUPS_EXCLUDE_DOC = "Exclude groups. Supports 
comma-separated group IDs and regexes."
@@ -80,9 +78,7 @@ public class MirrorCheckpointConfig extends 
MirrorConnectorConfig {
     public static final String CHECKPOINTS_TARGET_CONSUMER_ROLE = 
"checkpoints-target-consumer";
 
     public MirrorCheckpointConfig(Map<String, String> props) {
-        super(CONNECTOR_CONFIG_DEF, 
ConfigUtils.translateDeprecatedConfigs(props, new String[][]{
-                {GROUPS_EXCLUDE, GROUPS_EXCLUDE_ALIAS},
-        }));
+        super(CONNECTOR_CONFIG_DEF, props);
     }
 
     public MirrorCheckpointConfig(ConfigDef configDef, Map<String, String> 
props) {
@@ -206,12 +202,6 @@ public class MirrorCheckpointConfig extends 
MirrorConnectorConfig {
                         GROUPS_EXCLUDE_DEFAULT,
                         ConfigDef.Importance.HIGH,
                         GROUPS_EXCLUDE_DOC)
-                .define(
-                        GROUPS_EXCLUDE_ALIAS,
-                        ConfigDef.Type.LIST,
-                        null,
-                        ConfigDef.Importance.HIGH,
-                        "Deprecated. Use " + GROUPS_EXCLUDE + " instead.")
                 .define(
                         GROUP_FILTER_CLASS,
                         ConfigDef.Type.CLASS,
diff --git 
a/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/MirrorSourceConfig.java
 
b/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/MirrorSourceConfig.java
index 525700bf8e6..04bfd68c62c 100644
--- 
a/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/MirrorSourceConfig.java
+++ 
b/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/MirrorSourceConfig.java
@@ -18,7 +18,6 @@ package org.apache.kafka.connect.mirror;
 
 import org.apache.kafka.common.TopicPartition;
 import org.apache.kafka.common.config.ConfigDef;
-import org.apache.kafka.common.utils.ConfigUtils;
 
 import java.time.Duration;
 import java.util.List;
@@ -40,13 +39,11 @@ public class MirrorSourceConfig extends 
MirrorConnectorConfig {
     public static final String TOPICS_DEFAULT = 
DefaultTopicFilter.TOPICS_INCLUDE_DEFAULT;
     private static final String TOPICS_DOC = "Topics to replicate. Supports 
comma-separated topic names and regexes.";
     public static final String TOPICS_EXCLUDE = 
DefaultTopicFilter.TOPICS_EXCLUDE_CONFIG;
-    public static final String TOPICS_EXCLUDE_ALIAS = 
DefaultTopicFilter.TOPICS_EXCLUDE_CONFIG_ALIAS;
     public static final String TOPICS_EXCLUDE_DEFAULT = 
DefaultTopicFilter.TOPICS_EXCLUDE_DEFAULT;
     private static final String TOPICS_EXCLUDE_DOC = "Excluded topics. 
Supports comma-separated topic names and regexes."
             + " Excludes take precedence over includes.";
 
     public static final String CONFIG_PROPERTIES_EXCLUDE = 
DefaultConfigPropertyFilter.CONFIG_PROPERTIES_EXCLUDE_CONFIG;
-    public static final String CONFIG_PROPERTIES_EXCLUDE_ALIAS = 
DefaultConfigPropertyFilter.CONFIG_PROPERTIES_EXCLUDE_ALIAS_CONFIG;
     public static final String CONFIG_PROPERTIES_EXCLUDE_DEFAULT = 
DefaultConfigPropertyFilter.CONFIG_PROPERTIES_EXCLUDE_DEFAULT;
     private static final String CONFIG_PROPERTIES_EXCLUDE_DOC = "Topic config 
properties that should not be replicated. Supports "
             + "comma-separated property names and regexes.";
@@ -97,9 +94,7 @@ public class MirrorSourceConfig extends MirrorConnectorConfig 
{
     public static final String OFFSET_SYNCS_TARGET_ADMIN_ROLE = 
OFFSET_SYNCS_CLIENT_ROLE_PREFIX + "target-admin";
 
     public MirrorSourceConfig(Map<String, String> props) {
-        super(CONNECTOR_CONFIG_DEF, 
ConfigUtils.translateDeprecatedConfigs(props, new String[][]{
-                {TOPICS_EXCLUDE, TOPICS_EXCLUDE_ALIAS},
-                {CONFIG_PROPERTIES_EXCLUDE, 
CONFIG_PROPERTIES_EXCLUDE_ALIAS}}));
+        super(CONNECTOR_CONFIG_DEF, props);
     }
 
     public MirrorSourceConfig(ConfigDef configDef, Map<String, String> props) {
@@ -212,24 +207,12 @@ public class MirrorSourceConfig extends 
MirrorConnectorConfig {
                         TOPICS_EXCLUDE_DEFAULT,
                         ConfigDef.Importance.HIGH,
                         TOPICS_EXCLUDE_DOC)
-                .define(
-                        TOPICS_EXCLUDE_ALIAS,
-                        ConfigDef.Type.LIST,
-                        null,
-                        ConfigDef.Importance.HIGH,
-                        "Deprecated. Use " + TOPICS_EXCLUDE + " instead.")
                 .define(
                         CONFIG_PROPERTIES_EXCLUDE,
                         ConfigDef.Type.LIST,
                         CONFIG_PROPERTIES_EXCLUDE_DEFAULT,
                         ConfigDef.Importance.HIGH,
                         CONFIG_PROPERTIES_EXCLUDE_DOC)
-                .define(
-                        CONFIG_PROPERTIES_EXCLUDE_ALIAS,
-                        ConfigDef.Type.LIST,
-                        null,
-                        ConfigDef.Importance.HIGH,
-                        "Deprecated. Use " + CONFIG_PROPERTIES_EXCLUDE + " 
instead.")
                 .define(
                         TOPIC_FILTER_CLASS,
                         ConfigDef.Type.CLASS,
diff --git 
a/connect/mirror/src/test/java/org/apache/kafka/connect/mirror/MirrorMakerConfigTest.java
 
b/connect/mirror/src/test/java/org/apache/kafka/connect/mirror/MirrorMakerConfigTest.java
index 03f3bd6aaa8..638db3de370 100644
--- 
a/connect/mirror/src/test/java/org/apache/kafka/connect/mirror/MirrorMakerConfigTest.java
+++ 
b/connect/mirror/src/test/java/org/apache/kafka/connect/mirror/MirrorMakerConfigTest.java
@@ -171,54 +171,6 @@ public class MirrorMakerConfigTest {
 
     }
 
-    @Test
-    public void testConfigBackwardsCompatibility() {
-        MirrorMakerConfig mirrorConfig = new MirrorMakerConfig(makeProps(
-            "clusters", "a, b",
-            "groups.blacklist", "group-7",
-            "topics.blacklist", "topic3",
-            "config.properties.blacklist", "property-3",
-            "topic.filter.class", DefaultTopicFilter.class.getName()));
-        SourceAndTarget sourceAndTarget = new SourceAndTarget("source", 
"target");
-        Map<String, String> connectorProps = 
mirrorConfig.connectorBaseConfig(sourceAndTarget,
-                                                                              
MirrorSourceConnector.class);
-        MirrorSourceConfig sourceConfig = new 
MirrorSourceConfig(connectorProps);
-        DefaultTopicFilter.TopicFilterConfig filterConfig =
-            new DefaultTopicFilter.TopicFilterConfig(connectorProps);
-
-        assertEquals(Collections.singletonList("topic3"), 
filterConfig.getList("topics.exclude"),
-            "Topics exclude should be backwards compatible.");
-
-        assertEquals(Collections.singletonList("property-3"), 
sourceConfig.getList("config.properties.exclude"),
-            "Config properties exclude should be backwards compatible.");
-
-        MirrorCheckpointConfig checkpointConfig = new 
MirrorCheckpointConfig(connectorProps);
-        assertEquals(Collections.singletonList("group-7"), 
checkpointConfig.getList("groups.exclude"),
-            "Groups exclude should be backwards compatible.");
-
-    }
-
-    @Test
-    public void testConfigBackwardsCompatibilitySourceTarget() {
-        MirrorMakerConfig mirrorConfig = new MirrorMakerConfig(makeProps(
-            "clusters", "a, b",
-            "source->target.topics.blacklist", "topic3",
-            "source->target.groups.blacklist", "group-7",
-            "topic.filter.class", DefaultTopicFilter.class.getName()));
-        SourceAndTarget sourceAndTarget = new SourceAndTarget("source", 
"target");
-        Map<String, String> connectorProps = 
mirrorConfig.connectorBaseConfig(sourceAndTarget,
-                                                                              
MirrorSourceConnector.class);
-        MirrorCheckpointConfig connectorConfig = new 
MirrorCheckpointConfig(connectorProps);
-        DefaultTopicFilter.TopicFilterConfig filterConfig =
-            new DefaultTopicFilter.TopicFilterConfig(connectorProps);
-
-        assertEquals(Collections.singletonList("topic3"), 
filterConfig.getList("topics.exclude"),
-            "Topics exclude should be backwards compatible.");
-
-        assertEquals(Collections.singletonList("group-7"), 
connectorConfig.getList("groups.exclude"),
-            "Groups exclude should be backwards compatible.");
-    }
-
     @Test
     public void testIncludesTopicFilterProperties() {
         MirrorMakerConfig mirrorConfig = new MirrorMakerConfig(makeProps(
diff --git 
a/connect/mirror/src/test/java/org/apache/kafka/connect/mirror/MirrorSourceConfigTest.java
 
b/connect/mirror/src/test/java/org/apache/kafka/connect/mirror/MirrorSourceConfigTest.java
index e4d6082fa7f..ccdc7a878a5 100644
--- 
a/connect/mirror/src/test/java/org/apache/kafka/connect/mirror/MirrorSourceConfigTest.java
+++ 
b/connect/mirror/src/test/java/org/apache/kafka/connect/mirror/MirrorSourceConfigTest.java
@@ -66,17 +66,6 @@ public class MirrorSourceConfigTest {
                 "config.properties.exclude incorrectly included prop2");
     }
 
-    @Test
-    public void testConfigBackwardsCompatibility() {
-        MirrorSourceConfig config = new MirrorSourceConfig(
-                makeProps("config.properties.blacklist", "prop1",
-                        "topics.blacklist", "topic-1"));
-        
assertFalse(config.configPropertyFilter().shouldReplicateConfigProperty("prop1"));
-        
assertTrue(config.configPropertyFilter().shouldReplicateConfigProperty("prop2"));
-        assertFalse(config.topicFilter().shouldReplicateTopic("topic-1"));
-        assertTrue(config.topicFilter().shouldReplicateTopic("topic-2"));
-    }
-
     @Test
     public void testNoTopics() {
         MirrorSourceConfig config = new MirrorSourceConfig(makeProps("topics", 
""));
diff --git a/docs/upgrade.html b/docs/upgrade.html
index 4c81bf00d46..c52862ef158 100644
--- a/docs/upgrade.html
+++ b/docs/upgrade.html
@@ -49,6 +49,15 @@
                         <li>The <code>add.source.alias.to.metrics</code> 
configuration was removed from <code>MirrorSourceConnector</code>.
                             The source cluster alias is now always added to 
the metrics.
                         </li>
+                        <li>The <code>config.properties.blacklist</code> was 
removed from the <code>org.apache.kafka.connect.mirror.MirrorSourceConfig</code>
+                            Please use <code>config.properties.exclude</code> 
instead.
+                        </li>
+                        <li>The <code>topics.blacklist</code> was removed from 
the <code>org.apache.kafka.connect.mirror.MirrorSourceConfig</code>
+                            Please use <code>topics.exclude</code> instead.
+                        </li>
+                        <li>The <code>groups.blacklist</code> was removed from 
the <code>org.apache.kafka.connect.mirror.MirrorSourceConfig</code>
+                            Please use <code>groups.exclude</code> instead.
+                        </li>
                     </ul>
                 </li>
                 <li><b>Tools</b>

Reply via email to