This is an automated email from the ASF dual-hosted git repository. tombentley 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 5a5c058 MINOR: Fix use of ConfigException in AbstractConfig class (#11349) 5a5c058 is described below commit 5a5c05807ddc82b183f4489e81b9ad02fe83a0df Author: Chris Egerton <chr...@confluent.io> AuthorDate: Tue Sep 28 02:26:10 2021 -0400 MINOR: Fix use of ConfigException in AbstractConfig class (#11349) * Log full trace for class-not-found errors, improve accuracy of error messages Reviewers: Tom Bentley <tbent...@redhat.com> --- .../java/org/apache/kafka/common/config/AbstractConfig.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 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 b3c7e85..7ef4609 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 @@ -561,7 +561,7 @@ public class AbstractConfig { Map<String, String> providerMap = new HashMap<>(); for (String provider: configProviders.split(",")) { - String providerClass = CONFIG_PROVIDERS_CONFIG + "." + provider + ".class"; + String providerClass = providerClassProperty(provider); if (indirectConfigs.containsKey(providerClass)) providerMap.put(provider, indirectConfigs.get(providerClass)); @@ -576,14 +576,18 @@ public class AbstractConfig { provider.configure(configProperties); configProviderInstances.put(entry.getKey(), provider); } catch (ClassNotFoundException e) { - log.error("ClassNotFoundException exception occurred: " + entry.getValue()); - throw new ConfigException("Invalid config:" + entry.getValue() + " ClassNotFoundException exception occurred", e); + log.error("Could not load config provider class " + entry.getValue(), e); + throw new ConfigException(providerClassProperty(entry.getKey()), entry.getValue(), "Could not load config provider class or one of its dependencies"); } } return configProviderInstances; } + private static String providerClassProperty(String providerName) { + return String.format("%s.%s.class", CONFIG_PROVIDERS_CONFIG, providerName); + } + @Override public boolean equals(Object o) { if (this == o) return true;