This is an automated email from the ASF dual-hosted git repository.
fanrui pushed a commit to branch release-2.1
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/release-2.1 by this push:
new 2f6255beb27 [FLINK-38704][metrics] Fix MetricConfig.getString() to
handle numeric values
2f6255beb27 is described below
commit 2f6255beb273c7af321fcf743001af75a0ed52b7
Author: MUKUL GUPTA <[email protected]>
AuthorDate: Fri Mar 20 10:17:27 2026 +0530
[FLINK-38704][metrics] Fix MetricConfig.getString() to handle numeric values
---
.../main/java/org/apache/flink/metrics/MetricConfig.java | 15 ++++++++++++++-
.../java/org/apache/flink/metrics/MetricConfigTest.java | 9 ++++++++-
2 files changed, 22 insertions(+), 2 deletions(-)
diff --git
a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/MetricConfig.java
b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/MetricConfig.java
index b9fcafb5f2d..17e77a0b1d1 100644
---
a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/MetricConfig.java
+++
b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/MetricConfig.java
@@ -33,8 +33,21 @@ import java.util.Properties;
@Public
public class MetricConfig extends Properties {
+ /**
+ * Returns the value associated with the given key as a {@code String}.
+ *
+ * <p>If the value is not a {@link String}, its {@code toString()}
representation is returned.
+ *
+ * @param key the hashtable key.
+ * @param defaultValue a default value.
+ * @return the value in this property list with the specified key value as
a String.
+ */
public String getString(String key, String defaultValue) {
- return getProperty(key, defaultValue);
+ final Object value = get(key);
+ if (value == null) {
+ return defaultValue;
+ }
+ return value.toString();
}
/**
diff --git
a/flink-metrics/flink-metrics-core/src/test/java/org/apache/flink/metrics/MetricConfigTest.java
b/flink-metrics/flink-metrics-core/src/test/java/org/apache/flink/metrics/MetricConfigTest.java
index d3be33d9663..2824328c6a5 100644
---
a/flink-metrics/flink-metrics-core/src/test/java/org/apache/flink/metrics/MetricConfigTest.java
+++
b/flink-metrics/flink-metrics-core/src/test/java/org/apache/flink/metrics/MetricConfigTest.java
@@ -90,7 +90,14 @@ class MetricConfigTest {
123456789012345L),
Arguments.of(3.14f, (TypedGetter) (c, k) -> c.getFloat(k,
0.0f), 3.14f),
Arguments.of(2.718281828, (TypedGetter) (c, k) ->
c.getDouble(k, 0.0), 2.718281828),
- Arguments.of(true, (TypedGetter) (c, k) -> c.getBoolean(k,
false), true));
+ Arguments.of(true, (TypedGetter) (c, k) -> c.getBoolean(k,
false), true),
+ Arguments.of(42, (TypedGetter) (c, k) -> c.getString(k,
"default"), "42"),
+ Arguments.of(
+ 123456789012345L,
+ (TypedGetter) (c, k) -> c.getString(k, "default"),
+ "123456789012345"),
+ Arguments.of(3.14f, (TypedGetter) (c, k) -> c.getString(k,
"default"), "3.14"),
+ Arguments.of(true, (TypedGetter) (c, k) -> c.getString(k,
"default"), "true"));
}
private static Stream<Arguments> crossTypeCases() {