You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by rh...@apache.org on 2019/05/14 19:53:54 UTC
[kafka] branch 2.1 updated: KAFKA-8363: Fix parsing bug for config
providers (#6726)
This is an automated email from the ASF dual-hosted git repository.
rhauch pushed a commit to branch 2.1
in repository https://gitbox.apache.org/repos/asf/kafka.git
The following commit(s) were added to refs/heads/2.1 by this push:
new 73700ed KAFKA-8363: Fix parsing bug for config providers (#6726)
73700ed is described below
commit 73700ed4ccb9eb04d01410194f88107adb0f4402
Author: Chris Egerton <ch...@confluent.io>
AuthorDate: Tue May 14 12:32:54 2019 -0700
KAFKA-8363: Fix parsing bug for config providers (#6726)
Author: Chris Egerton <ce...@oberlin.edu>
Reviewers: Robert Yokota <ra...@gmail.com>, Randall Hauch <rh...@gmail.com>
---
.../java/org/apache/kafka/common/config/ConfigTransformer.java | 2 +-
.../java/org/apache/kafka/common/config/ConfigTransformerTest.java | 7 +++++++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/clients/src/main/java/org/apache/kafka/common/config/ConfigTransformer.java b/clients/src/main/java/org/apache/kafka/common/config/ConfigTransformer.java
index a830f9f..4f078b1 100644
--- a/clients/src/main/java/org/apache/kafka/common/config/ConfigTransformer.java
+++ b/clients/src/main/java/org/apache/kafka/common/config/ConfigTransformer.java
@@ -53,7 +53,7 @@ import java.util.regex.Pattern;
* {@link ConfigProvider#unsubscribe(String, Set, ConfigChangeCallback)} methods.
*/
public class ConfigTransformer {
- public static final Pattern DEFAULT_PATTERN = Pattern.compile("\\$\\{(.*?):((.*?):)?(.*?)\\}");
+ public static final Pattern DEFAULT_PATTERN = Pattern.compile("\\$\\{([^}]*?):(([^}]*?):)?([^}]*?)\\}");
private static final String EMPTY_PATH = "";
private final Map<String, ConfigProvider> configProviders;
diff --git a/clients/src/test/java/org/apache/kafka/common/config/ConfigTransformerTest.java b/clients/src/test/java/org/apache/kafka/common/config/ConfigTransformerTest.java
index e2b9f6b..12c6b1f 100644
--- a/clients/src/test/java/org/apache/kafka/common/config/ConfigTransformerTest.java
+++ b/clients/src/test/java/org/apache/kafka/common/config/ConfigTransformerTest.java
@@ -96,6 +96,13 @@ public class ConfigTransformerTest {
}
@Test
+ public void testReplaceMultipleVariablesWithoutPathInValue() throws Exception {
+ ConfigTransformerResult result = configTransformer.transform(Collections.singletonMap(MY_KEY, "first ${test:testKey}; second ${test:testKey}"));
+ Map<String, String> data = result.data();
+ assertEquals("first testResultNoPath; second testResultNoPath", data.get(MY_KEY));
+ }
+
+ @Test
public void testNullConfigValue() throws Exception {
ConfigTransformerResult result = configTransformer.transform(Collections.singletonMap(MY_KEY, null));
Map<String, String> data = result.data();