This is an automated email from the ASF dual-hosted git repository.
gwenshap 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 33853c1 MINOR: Correct usage of ConfigException in file and directory
config providers
33853c1 is described below
commit 33853c154ff24ab4e68efa23893646f093c6333f
Author: Chris Egerton <[email protected]>
AuthorDate: Fri Dec 17 11:51:02 2021 -0800
MINOR: Correct usage of ConfigException in file and directory config
providers
The two-arg variant is intended to take a property name and value, not an
exception message and a cause.
As-is, this leads to confusing log messages like:
```
org.apache.kafka.common.config.ConfigException: Invalid value
java.nio.file.NoSuchFileException: /my/missing/secrets.properties for
configuration Could not read properties from file /my/missing/secrets.properties
```
Author: Chris Egerton <[email protected]>
Reviewers: Gwen Shapira
Closes #11555 from C0urante/patch-1
---
.../kafka/common/config/provider/DirectoryConfigProvider.java | 6 ++++--
.../kafka/common/config/provider/FileConfigProvider.java | 10 ++++++++--
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git
a/clients/src/main/java/org/apache/kafka/common/config/provider/DirectoryConfigProvider.java
b/clients/src/main/java/org/apache/kafka/common/config/provider/DirectoryConfigProvider.java
index bcfe674..b8ca511 100644
---
a/clients/src/main/java/org/apache/kafka/common/config/provider/DirectoryConfigProvider.java
+++
b/clients/src/main/java/org/apache/kafka/common/config/provider/DirectoryConfigProvider.java
@@ -89,7 +89,8 @@ public class DirectoryConfigProvider implements
ConfigProvider {
p -> p.getFileName().toString(),
p -> read(p)));
} catch (IOException e) {
- throw new ConfigException("Could not list directory " +
dir, e);
+ log.error("Could not list directory {}", dir, e);
+ throw new ConfigException("Could not list directory " +
dir);
}
}
}
@@ -100,7 +101,8 @@ public class DirectoryConfigProvider implements
ConfigProvider {
try {
return new String(Files.readAllBytes(path),
StandardCharsets.UTF_8);
} catch (IOException e) {
- throw new ConfigException("Could not read file " + path + " for
property " + path.getFileName(), e);
+ log.error("Could not read file {} for property {}", path,
path.getFileName(), e);
+ throw new ConfigException("Could not read file " + path + " for
property " + path.getFileName());
}
}
diff --git
a/clients/src/main/java/org/apache/kafka/common/config/provider/FileConfigProvider.java
b/clients/src/main/java/org/apache/kafka/common/config/provider/FileConfigProvider.java
index 3920da0..41f0119 100644
---
a/clients/src/main/java/org/apache/kafka/common/config/provider/FileConfigProvider.java
+++
b/clients/src/main/java/org/apache/kafka/common/config/provider/FileConfigProvider.java
@@ -18,6 +18,8 @@ package org.apache.kafka.common.config.provider;
import org.apache.kafka.common.config.ConfigData;
import org.apache.kafka.common.config.ConfigException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.io.Reader;
@@ -35,6 +37,8 @@ import java.util.Set;
*/
public class FileConfigProvider implements ConfigProvider {
+ private static final Logger log =
LoggerFactory.getLogger(FileConfigProvider.class);
+
public void configure(Map<String, ?> configs) {
}
@@ -62,7 +66,8 @@ public class FileConfigProvider implements ConfigProvider {
}
return new ConfigData(data);
} catch (IOException e) {
- throw new ConfigException("Could not read properties from file " +
path, e);
+ log.error("Could not read properties from file {}", path, e);
+ throw new ConfigException("Could not read properties from file " +
path);
}
}
@@ -89,7 +94,8 @@ public class FileConfigProvider implements ConfigProvider {
}
return new ConfigData(data);
} catch (IOException e) {
- throw new ConfigException("Could not read properties from file " +
path, e);
+ log.error("Could not read properties from file {}", path, e);
+ throw new ConfigException("Could not read properties from file " +
path);
}
}