From aac0d66d1b3427513eb6fdcb74dda98629f8b56b Mon Sep 17 00:00:00 2001 From: Rancho-7 Date: Mon, 21 Apr 2025 23:19:13 +0800 Subject: [PATCH 1/3] KAFKA-19178: Replace Vector by ArrayList --- .../connect/runtime/isolation/PluginClassLoader.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/isolation/PluginClassLoader.java b/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/isolation/PluginClassLoader.java index 693972c1989c5..d1829b731dc7d 100644 --- a/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/isolation/PluginClassLoader.java +++ b/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/isolation/PluginClassLoader.java @@ -22,9 +22,11 @@ import java.io.IOException; import java.net.URL; import java.net.URLClassLoader; +import java.util.ArrayList; +import java.util.Collections; import java.util.Enumeration; +import java.util.List; import java.util.Objects; -import java.util.Vector; /** * A custom classloader dedicated to loading Connect plugin classes in classloading isolation. @@ -87,7 +89,7 @@ public URL getResource(String name) { @Override public Enumeration getResources(String name) throws IOException { Objects.requireNonNull(name); - Vector resources = new Vector<>(); + List resources = new ArrayList<>(); for (Enumeration foundLocally = findResources(name); foundLocally.hasMoreElements();) { URL url = foundLocally.nextElement(); if (url != null) @@ -99,7 +101,7 @@ public Enumeration getResources(String name) throws IOException { if (url != null) resources.add(url); } - return resources.elements(); + return Collections.enumeration(resources); } // This method needs to be thread-safe because it is supposed to be called by multiple From 02cef9e445120b0e6a6d60c95b562e5ccf6c219e Mon Sep 17 00:00:00 2001 From: Rancho-7 Date: Thu, 24 Apr 2025 13:45:31 +0800 Subject: [PATCH 2/3] replace Vector with ArrayList --- .../mirror/clients/admin/FakeLocalMetadataStore.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/connect/mirror/src/test/java/org/apache/kafka/connect/mirror/clients/admin/FakeLocalMetadataStore.java b/connect/mirror/src/test/java/org/apache/kafka/connect/mirror/clients/admin/FakeLocalMetadataStore.java index 1c08cbaf72ef9..8493189641df5 100644 --- a/connect/mirror/src/test/java/org/apache/kafka/connect/mirror/clients/admin/FakeLocalMetadataStore.java +++ b/connect/mirror/src/test/java/org/apache/kafka/connect/mirror/clients/admin/FakeLocalMetadataStore.java @@ -24,9 +24,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.ArrayList; import java.util.List; import java.util.Map; -import java.util.Vector; import java.util.concurrent.ConcurrentHashMap; /** FakeLocalMetadataStore is used for MM2's integration test. @@ -36,7 +36,7 @@ public class FakeLocalMetadataStore { private static final Logger log = LoggerFactory.getLogger(FakeLocalMetadataStore.class); private static final ConcurrentHashMap> ALL_TOPICS = new ConcurrentHashMap<>(); - private static final ConcurrentHashMap> ALL_ACLS = new ConcurrentHashMap<>(); + private static final ConcurrentHashMap> ALL_ACLS = new ConcurrentHashMap<>(); /** * Add topic to allTopics. @@ -103,7 +103,7 @@ public static Map topicConfig(String topic) { * @return {@link List} */ public static List aclBindings(String aclPrinciple) { - return FakeLocalMetadataStore.ALL_ACLS.getOrDefault("User:" + aclPrinciple, new Vector<>()); + return FakeLocalMetadataStore.ALL_ACLS.getOrDefault("User:" + aclPrinciple, new ArrayList<>()); } /** @@ -112,7 +112,7 @@ public static List aclBindings(String aclPrinciple) { * @param aclBinding {@link AclBinding} */ public static void addACLs(String principal, AclBinding aclBinding) { - Vector aclBindings = FakeLocalMetadataStore.ALL_ACLS.getOrDefault(principal, new Vector<>()); + List aclBindings = FakeLocalMetadataStore.ALL_ACLS.getOrDefault(principal, new ArrayList<>()); aclBindings.add(aclBinding); FakeLocalMetadataStore.ALL_ACLS.putIfAbsent(principal, aclBindings); } From 34208e24492e2385dd9b54c059340e4721b8fc51 Mon Sep 17 00:00:00 2001 From: Rancho-7 Date: Thu, 24 Apr 2025 19:54:37 +0800 Subject: [PATCH 3/3] revert --- .../mirror/clients/admin/FakeLocalMetadataStore.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/connect/mirror/src/test/java/org/apache/kafka/connect/mirror/clients/admin/FakeLocalMetadataStore.java b/connect/mirror/src/test/java/org/apache/kafka/connect/mirror/clients/admin/FakeLocalMetadataStore.java index 8493189641df5..1c08cbaf72ef9 100644 --- a/connect/mirror/src/test/java/org/apache/kafka/connect/mirror/clients/admin/FakeLocalMetadataStore.java +++ b/connect/mirror/src/test/java/org/apache/kafka/connect/mirror/clients/admin/FakeLocalMetadataStore.java @@ -24,9 +24,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Vector; import java.util.concurrent.ConcurrentHashMap; /** FakeLocalMetadataStore is used for MM2's integration test. @@ -36,7 +36,7 @@ public class FakeLocalMetadataStore { private static final Logger log = LoggerFactory.getLogger(FakeLocalMetadataStore.class); private static final ConcurrentHashMap> ALL_TOPICS = new ConcurrentHashMap<>(); - private static final ConcurrentHashMap> ALL_ACLS = new ConcurrentHashMap<>(); + private static final ConcurrentHashMap> ALL_ACLS = new ConcurrentHashMap<>(); /** * Add topic to allTopics. @@ -103,7 +103,7 @@ public static Map topicConfig(String topic) { * @return {@link List} */ public static List aclBindings(String aclPrinciple) { - return FakeLocalMetadataStore.ALL_ACLS.getOrDefault("User:" + aclPrinciple, new ArrayList<>()); + return FakeLocalMetadataStore.ALL_ACLS.getOrDefault("User:" + aclPrinciple, new Vector<>()); } /** @@ -112,7 +112,7 @@ public static List aclBindings(String aclPrinciple) { * @param aclBinding {@link AclBinding} */ public static void addACLs(String principal, AclBinding aclBinding) { - List aclBindings = FakeLocalMetadataStore.ALL_ACLS.getOrDefault(principal, new ArrayList<>()); + Vector aclBindings = FakeLocalMetadataStore.ALL_ACLS.getOrDefault(principal, new Vector<>()); aclBindings.add(aclBinding); FakeLocalMetadataStore.ALL_ACLS.putIfAbsent(principal, aclBindings); }