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 c37b14547d8 KAFKA-20357 Unify method signature for retrieving config 
names across config classes (#21951)
c37b14547d8 is described below

commit c37b14547d877232e324bd804c605e1d33c05dec
Author: Lan Ding <[email protected]>
AuthorDate: Sat Apr 4 21:35:14 2026 +0800

    KAFKA-20357 Unify method signature for retrieving config names across 
config classes (#21951)
    
    Unify method signature for retrieving config names across config
    classes.
    
    Reviewers: Chia-Ping Tsai <[email protected]>
---
 .../apache/kafka/server/config/DefaultSupportedConfigChecker.java  | 7 +++----
 .../java/org/apache/kafka/server/metrics/ClientMetricsConfigs.java | 4 ++--
 .../java/org/apache/kafka/storage/internals/log/LogConfig.java     | 6 +++---
 3 files changed, 8 insertions(+), 9 deletions(-)

diff --git 
a/server/src/main/java/org/apache/kafka/server/config/DefaultSupportedConfigChecker.java
 
b/server/src/main/java/org/apache/kafka/server/config/DefaultSupportedConfigChecker.java
index 1c3976750dd..00cdeaa13e4 100644
--- 
a/server/src/main/java/org/apache/kafka/server/config/DefaultSupportedConfigChecker.java
+++ 
b/server/src/main/java/org/apache/kafka/server/config/DefaultSupportedConfigChecker.java
@@ -23,7 +23,6 @@ import org.apache.kafka.metadata.SupportedConfigChecker;
 import org.apache.kafka.server.metrics.ClientMetricsConfigs;
 import org.apache.kafka.storage.internals.log.LogConfig;
 
-import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import java.util.function.Predicate;
@@ -62,10 +61,10 @@ public final class DefaultSupportedConfigChecker implements 
SupportedConfigCheck
 
     public DefaultSupportedConfigChecker() {
         this.validConfigsByType = Map.of(
-            ConfigResource.Type.TOPIC, new SetContainsPredicate(new 
HashSet<>(LogConfig.configNames())),
+            ConfigResource.Type.TOPIC, new 
SetContainsPredicate(LogConfig.configNames()),
             ConfigResource.Type.BROKER, ignore -> true,
-            ConfigResource.Type.CLIENT_METRICS, new 
SetContainsPredicate(ClientMetricsConfigs.configDef().names()),
-            ConfigResource.Type.GROUP, new 
SetContainsPredicate(GroupConfig.CONFIG_DEF.names())
+            ConfigResource.Type.CLIENT_METRICS, new 
SetContainsPredicate(ClientMetricsConfigs.configNames()),
+            ConfigResource.Type.GROUP, new 
SetContainsPredicate(GroupConfig.configNames())
         );
     }
 
diff --git 
a/server/src/main/java/org/apache/kafka/server/metrics/ClientMetricsConfigs.java
 
b/server/src/main/java/org/apache/kafka/server/metrics/ClientMetricsConfigs.java
index 90a36d5d3e7..f6e0bf672f3 100644
--- 
a/server/src/main/java/org/apache/kafka/server/metrics/ClientMetricsConfigs.java
+++ 
b/server/src/main/java/org/apache/kafka/server/metrics/ClientMetricsConfigs.java
@@ -136,7 +136,7 @@ public class ClientMetricsConfigs extends AbstractConfig {
         return clientMetricsProps;
     }
 
-    public static Set<String> names() {
+    public static Set<String> configNames() {
         return CONFIG.names();
     }
 
@@ -152,7 +152,7 @@ public class ClientMetricsConfigs extends AbstractConfig {
     private static void validateConfigs(Map<?, ?> configs) {
         // Make sure that all the configs are valid
         configs.forEach((key, value) -> {
-            if (!names().contains(key)) {
+            if (!configNames().contains(key)) {
                 throw new InvalidRequestException("Unknown client metrics 
configuration: " + key);
             }
         });
diff --git 
a/storage/src/main/java/org/apache/kafka/storage/internals/log/LogConfig.java 
b/storage/src/main/java/org/apache/kafka/storage/internals/log/LogConfig.java
index 4276ac71b3d..1b1811ca5e7 100644
--- 
a/storage/src/main/java/org/apache/kafka/storage/internals/log/LogConfig.java
+++ 
b/storage/src/main/java/org/apache/kafka/storage/internals/log/LogConfig.java
@@ -436,8 +436,8 @@ public class LogConfig extends AbstractConfig {
         return Optional.ofNullable(CONFIG.configKeys().get(configName)).map(c 
-> c.type);
     }
 
-    public static List<String> configNames() {
-        return CONFIG.names().stream().sorted().toList();
+    public static Set<String> configNames() {
+        return CONFIG.names();
     }
 
     public static List<String> nonInternalConfigNames() {
@@ -456,7 +456,7 @@ public class LogConfig extends AbstractConfig {
      * Check that property names are valid
      */
     public static void validateNames(Map<String, String> props) {
-        List<String> names = configNames();
+        Set<String> names = configNames();
         for (String name : props.keySet())
             if (!names.contains(name))
                 throw new InvalidConfigurationException("Unknown topic config 
name: " + name);

Reply via email to