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 a524fc64b4a MINOR: leverage preProcessParsedConfig within
AbstractConfig (#19259)
a524fc64b4a is described below
commit a524fc64b4a50f50d6f4aff0501f30ec079ee9ed
Author: TaiJuWu <[email protected]>
AuthorDate: Mon Mar 24 01:19:20 2025 +0800
MINOR: leverage preProcessParsedConfig within AbstractConfig (#19259)
In past, we have `AbstractConfig#preProcessParsedConfig` but did not use
its return value
Reviewers: Ken Huang <[email protected]>, Chia-Ping Tsai
<[email protected]>
---
.../apache/kafka/common/config/AbstractConfig.java | 6 ++----
.../kafka/common/config/AbstractConfigTest.java | 24 +++++++++++++++++++++-
2 files changed, 25 insertions(+), 5 deletions(-)
diff --git
a/clients/src/main/java/org/apache/kafka/common/config/AbstractConfig.java
b/clients/src/main/java/org/apache/kafka/common/config/AbstractConfig.java
index 8270f22b65c..9188b1687a8 100644
--- a/clients/src/main/java/org/apache/kafka/common/config/AbstractConfig.java
+++ b/clients/src/main/java/org/apache/kafka/common/config/AbstractConfig.java
@@ -109,8 +109,7 @@ public class AbstractConfig {
*/
@SuppressWarnings({"this-escape"})
public AbstractConfig(ConfigDef definition, Map<?, ?> originals,
Map<String, ?> configProviderProps, boolean doLog) {
- Map<String, Object> originalMap =
Utils.castToStringObjectMap(originals);
- preProcessParsedConfig(originalMap);
+ Map<String, Object> originalMap =
preProcessParsedConfig(Collections.unmodifiableMap(Utils.castToStringObjectMap(originals)));
this.originals = resolveConfigVariables(configProviderProps,
originalMap);
this.values = definition.parse(this.originals);
Map<String, Object> configUpdates =
postProcessParsedConfig(Collections.unmodifiableMap(this.values));
@@ -144,7 +143,6 @@ public class AbstractConfig {
*/
public AbstractConfig(ConfigDef definition, Map<?, ?> originals, boolean
doLog) {
this(definition, originals, Collections.emptyMap(), doLog);
-
}
/**
@@ -155,7 +153,7 @@ public class AbstractConfig {
* @return a map of updates that should be applied to the configuration
(will be validated to prevent bad updates)
*/
protected Map<String, Object> preProcessParsedConfig(Map<String, Object>
parsedValues) {
- return Map.of();
+ return parsedValues;
}
/**
diff --git
a/clients/src/test/java/org/apache/kafka/common/config/AbstractConfigTest.java
b/clients/src/test/java/org/apache/kafka/common/config/AbstractConfigTest.java
index 31ffdfb7117..8669156d7c3 100644
---
a/clients/src/test/java/org/apache/kafka/common/config/AbstractConfigTest.java
+++
b/clients/src/test/java/org/apache/kafka/common/config/AbstractConfigTest.java
@@ -114,6 +114,13 @@ public class AbstractConfigTest {
assertEquals(expected, originalsWithPrefix);
}
+ @Test
+ public void testPreprocessConfig() {
+ Properties props = new Properties();
+ TestConfig config = new TestConfig(props);
+ assertEquals("success", config.get("preprocess"));
+ }
+
@Test
public void testValuesWithPrefixOverride() {
String prefix = "prefix.";
@@ -702,17 +709,32 @@ public class AbstractConfigTest {
public static final String METRIC_REPORTER_CLASSES_CONFIG =
"metric.reporters";
private static final String METRIC_REPORTER_CLASSES_DOC = "A list of
classes to use as metrics reporters.";
+ public static final String PREPROCESSOR_CONFIG = "preprocess";
+ private static final String PREPROCESSOR_CONFIG_DOC = "Override from
preprocess step.";
+
static {
CONFIG = new ConfigDef().define(METRIC_REPORTER_CLASSES_CONFIG,
Type.LIST,
"",
Importance.LOW,
- METRIC_REPORTER_CLASSES_DOC);
+ METRIC_REPORTER_CLASSES_DOC)
+ .define(PREPROCESSOR_CONFIG,
+ Type.STRING,
+ "",
+ Importance.LOW,
+ PREPROCESSOR_CONFIG_DOC);
}
public TestConfig(Map<?, ?> props) {
super(CONFIG, props);
}
+
+ @Override
+ protected Map<String, Object> preProcessParsedConfig(Map<String,
Object> parsedValues) {
+ Map<String, Object> ret = new HashMap<>(parsedValues);
+ ret.put("preprocess", "success");
+ return ret;
+ }
}
public static class ConfiguredFakeMetricsReporter extends
FakeMetricsReporter {