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 9d5bbf58277 MINOR: Add javadoc for ConfigDef.convertToString() (#21387)
9d5bbf58277 is described below
commit 9d5bbf58277133ea2793cdbfbb75e68beac16117
Author: Mickael Maison <[email protected]>
AuthorDate: Wed Feb 4 19:06:12 2026 +0100
MINOR: Add javadoc for ConfigDef.convertToString() (#21387)
Also added test case for `convertToString()` with Double values to
highlight Java uses scientific notation for large (and small) values.
For example if you set `log.cleaner.io.max.bytes.per.second` to
`102400000` via the Admin API, when describing it, you get `1.024E8`
back, not `102400000`.
Reviewers: Chia-Ping Tsai <[email protected]>
---
.../main/java/org/apache/kafka/common/config/ConfigDef.java | 11 +++++++++++
.../java/org/apache/kafka/common/config/ConfigDefTest.java | 5 ++++-
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git
a/clients/src/main/java/org/apache/kafka/common/config/ConfigDef.java
b/clients/src/main/java/org/apache/kafka/common/config/ConfigDef.java
index 22b00fa0c3d..dd1e4898eaf 100644
--- a/clients/src/main/java/org/apache/kafka/common/config/ConfigDef.java
+++ b/clients/src/main/java/org/apache/kafka/common/config/ConfigDef.java
@@ -790,6 +790,17 @@ public class ConfigDef {
}
}
+ /**
+ * Convert the provided object into a string based on its type.
+ * <p>
+ * This method uses Java's {@link #toString()} for {@link Type#BOOLEAN},
{@link Type#SHORT}, {@link Type#INT},
+ * {@link Type#LONG}, {@link Type#DOUBLE}, {@link Type#STRING} and {@link
Type#PASSWORD} objects.
+ * For {@link Type#LIST} objects, Java's {@link #toString()} is used for
each entry and entries are concatenated
+ * separated by commas. For {@link Type#CLASS} objects, {@link
Class#getName()} is used.
+ * @param parsedValue The object to convert into a string
+ * @param type The type of the object
+ * @return The string representation of the provided object and type
+ */
public static String convertToString(Object parsedValue, Type type) {
if (parsedValue == null) {
return null;
diff --git
a/clients/src/test/java/org/apache/kafka/common/config/ConfigDefTest.java
b/clients/src/test/java/org/apache/kafka/common/config/ConfigDefTest.java
index c4200e82b0f..358eb61a22c 100644
--- a/clients/src/test/java/org/apache/kafka/common/config/ConfigDefTest.java
+++ b/clients/src/test/java/org/apache/kafka/common/config/ConfigDefTest.java
@@ -616,7 +616,10 @@ public class ConfigDefTest {
@Test
public void testConvertValueToStringDouble() {
- assertEquals("3.125", ConfigDef.convertToString(3.125, Type.DOUBLE));
+ assertEquals("3.125", ConfigDef.convertToString(3.125d, Type.DOUBLE));
+ assertEquals("1.7976931348623157E308",
ConfigDef.convertToString(Double.MAX_VALUE, Type.DOUBLE));
+ assertEquals("1.024E8", ConfigDef.convertToString(102400000d,
Type.DOUBLE));
+ assertEquals("-1.024E8", ConfigDef.convertToString(-102400000d,
Type.DOUBLE));
assertNull(ConfigDef.convertToString(null, Type.DOUBLE));
}