This is an automated email from the ASF dual-hosted git repository. sxnan pushed a commit to branch config-2.0 in repository https://gitbox.apache.org/repos/asf/flink.git
commit ac3edda686a2b7ddd5ec97da4c922a9f21c74ee8 Author: sxnan <[email protected]> AuthorDate: Tue Sep 10 10:19:50 2024 +0800 [FLINK-34079][config] Refactor callers that use get/setFloat --- .../flink/configuration/ConfigurationUtils.java | 4 +++ .../configuration/DelegatingConfiguration.java | 3 +- .../ConfigurationConversionsTest.java | 38 +++++++++++++--------- .../flink/configuration/ConfigurationTest.java | 6 ++-- .../configuration/DelegatingConfigurationTest.java | 8 ++--- .../flink/runtime/operators/util/TaskConfig.java | 11 ++++--- 6 files changed, 44 insertions(+), 26 deletions(-) diff --git a/flink-core/src/main/java/org/apache/flink/configuration/ConfigurationUtils.java b/flink-core/src/main/java/org/apache/flink/configuration/ConfigurationUtils.java index 253970fb9bb..7acc0145fd9 100755 --- a/flink-core/src/main/java/org/apache/flink/configuration/ConfigurationUtils.java +++ b/flink-core/src/main/java/org/apache/flink/configuration/ConfigurationUtils.java @@ -699,4 +699,8 @@ public class ConfigurationUtils { public static ConfigOption<Double> getDoubleConfigOption(String key) { return ConfigOptions.key(key).doubleType().noDefaultValue(); } + + public static ConfigOption<Float> getFloatConfigOption(String key) { + return ConfigOptions.key(key).floatType().noDefaultValue(); + } } diff --git a/flink-core/src/main/java/org/apache/flink/configuration/DelegatingConfiguration.java b/flink-core/src/main/java/org/apache/flink/configuration/DelegatingConfiguration.java index f0f147b884f..8b906eb437f 100644 --- a/flink-core/src/main/java/org/apache/flink/configuration/DelegatingConfiguration.java +++ b/flink-core/src/main/java/org/apache/flink/configuration/DelegatingConfiguration.java @@ -35,6 +35,7 @@ import java.util.Optional; import java.util.Properties; import java.util.Set; +import static org.apache.flink.configuration.ConfigurationUtils.getFloatConfigOption; import static org.apache.flink.configuration.FallbackKey.createDeprecatedKey; /** @@ -183,7 +184,7 @@ public final class DelegatingConfiguration extends Configuration { @Override public float getFloat(String key, float defaultValue) { - return this.backingConfig.getFloat(this.prefix + key, defaultValue); + return this.backingConfig.get(getFloatConfigOption(this.prefix + key), defaultValue); } @Override diff --git a/flink-core/src/test/java/org/apache/flink/configuration/ConfigurationConversionsTest.java b/flink-core/src/test/java/org/apache/flink/configuration/ConfigurationConversionsTest.java index c7d5a2a9404..dd50d9b216b 100644 --- a/flink-core/src/test/java/org/apache/flink/configuration/ConfigurationConversionsTest.java +++ b/flink-core/src/test/java/org/apache/flink/configuration/ConfigurationConversionsTest.java @@ -36,6 +36,7 @@ import java.util.Optional; import static org.apache.flink.configuration.ConfigurationUtils.getBooleanConfigOption; import static org.apache.flink.configuration.ConfigurationUtils.getDoubleConfigOption; +import static org.apache.flink.configuration.ConfigurationUtils.getFloatConfigOption; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; @@ -62,7 +63,7 @@ class ConfigurationConversionsTest { pc.setInteger("int", 5); pc.setLong("long", 15); pc.setLong("too_long", TOO_LONG); - pc.setFloat("float", 2.1456775f); + pc.set(getFloatConfigOption("float"), 2.1456775f); pc.set(getDoubleConfigOption("double"), Math.PI); pc.set(getDoubleConfigOption("negative_double"), -1.0); pc.set(getDoubleConfigOption("zero"), 0.0); @@ -78,7 +79,7 @@ class ConfigurationConversionsTest { // from integer TestSpec.whenAccessed(conf -> conf.getInteger("int", 0)).expect(5), TestSpec.whenAccessed(conf -> conf.getLong("int", 0)).expect(5L), - TestSpec.whenAccessed(conf -> conf.getFloat("int", 0)).expect(5f), + TestSpec.whenAccessed(conf -> conf.get(getFloatConfigOption("int"), 0f)).expect(5f), TestSpec.whenAccessed(conf -> conf.get(getDoubleConfigOption("int"), 0.0)) .expect(5.0), TestSpec.whenAccessed(conf -> conf.get(getBooleanConfigOption("int"), true)) @@ -90,7 +91,8 @@ class ConfigurationConversionsTest { // from long TestSpec.whenAccessed(conf -> conf.getInteger("long", 0)).expect(15), TestSpec.whenAccessed(conf -> conf.getLong("long", 0)).expect(15L), - TestSpec.whenAccessed(conf -> conf.getFloat("long", 0)).expect(15f), + TestSpec.whenAccessed(conf -> conf.get(getFloatConfigOption("long"), 0f)) + .expect(15f), TestSpec.whenAccessed(conf -> conf.get(getDoubleConfigOption("long"), 0.0)) .expect(15.0), TestSpec.whenAccessed(conf -> conf.get(getBooleanConfigOption("long"), true)) @@ -105,7 +107,7 @@ class ConfigurationConversionsTest { .expectException( "Configuration value 2147483657 overflows/underflows the integer type"), TestSpec.whenAccessed(conf -> conf.getLong("too_long", 0)).expect(TOO_LONG), - TestSpec.whenAccessed(conf -> conf.getFloat("too_long", 0)) + TestSpec.whenAccessed(conf -> conf.get(getFloatConfigOption("too_long"), 0f)) .expect((float) TOO_LONG), TestSpec.whenAccessed(conf -> conf.get(getDoubleConfigOption("too_long"), 0.0)) .expect((double) TOO_LONG), @@ -124,7 +126,8 @@ class ConfigurationConversionsTest { TestSpec.whenAccessed(conf -> conf.getLong("float", 0)) .expectException( "For input string: \"2.1456776\"", NumberFormatException.class), - TestSpec.whenAccessed(conf -> conf.getFloat("float", 0)).expect(2.1456775f), + TestSpec.whenAccessed(conf -> conf.get(getFloatConfigOption("float"), 0f)) + .expect(2.1456775f), TestSpec.whenAccessed(conf -> conf.get(getDoubleConfigOption("float"), 0.0)) .expect( new Condition<>( @@ -147,7 +150,7 @@ class ConfigurationConversionsTest { .expectException( "For input string: \"3.141592653589793\"", NumberFormatException.class), - TestSpec.whenAccessed(conf -> conf.getFloat("double", 0)) + TestSpec.whenAccessed(conf -> conf.get(getFloatConfigOption("double"), 0f)) .expect(new IsCloseTo(3.141592f, 0.000001f)), TestSpec.whenAccessed(conf -> conf.get(getDoubleConfigOption("double"), 0.0)) .expect(Math.PI), @@ -165,7 +168,7 @@ class ConfigurationConversionsTest { .expectException("For input string: \"-1.0\"", NumberFormatException.class), TestSpec.whenAccessed(conf -> conf.getLong("negative_double", 0)) .expectException("For input string: \"-1.0\"", NumberFormatException.class), - TestSpec.whenAccessed(conf -> conf.getFloat("negative_double", 0)) + TestSpec.whenAccessed(conf -> conf.get(getFloatConfigOption("negative_double"), 0f)) .expect(new IsCloseTo(-1f, 0.000001f)), TestSpec.whenAccessed( conf -> conf.get(getDoubleConfigOption("negative_double"), 0.0)) @@ -184,7 +187,7 @@ class ConfigurationConversionsTest { .expectException("For input string: \"0.0\"", NumberFormatException.class), TestSpec.whenAccessed(conf -> conf.getLong("zero", 0)) .expectException("For input string: \"0.0\"", NumberFormatException.class), - TestSpec.whenAccessed(conf -> conf.getFloat("zero", 0)) + TestSpec.whenAccessed(conf -> conf.get(getFloatConfigOption("zero"), 0f)) .expect(new IsCloseTo(0f, 0.000001f)), TestSpec.whenAccessed(conf -> conf.get(getDoubleConfigOption("zero"), 0.0)) .expect(0D), @@ -205,9 +208,9 @@ class ConfigurationConversionsTest { .expectException( "For input string: \"1.7976931348623157E308\"", NumberFormatException.class), - TestSpec.whenAccessed(conf -> conf.getFloat("too_long_double", 0)) + TestSpec.whenAccessed(conf -> conf.get(getFloatConfigOption("too_long_double"), 0f)) .expectException( - "Configuration value 1.7976931348623157E308 overflows/underflows the float type."), + "Could not parse value '1.7976931348623157E308' for key 'too_long_double'."), TestSpec.whenAccessed( conf -> conf.get(getDoubleConfigOption("too_long_double"), 0.0)) .expect(TOO_LONG_DOUBLE), @@ -224,7 +227,8 @@ class ConfigurationConversionsTest { // from string TestSpec.whenAccessed(conf -> conf.getInteger("string", 0)).expect(42), TestSpec.whenAccessed(conf -> conf.getLong("string", 0)).expect(42L), - TestSpec.whenAccessed(conf -> conf.getFloat("string", 0)).expect(42f), + TestSpec.whenAccessed(conf -> conf.get(getFloatConfigOption("string"), 0f)) + .expect(42f), TestSpec.whenAccessed(conf -> conf.get(getDoubleConfigOption("string"), 0.0)) .expect(42.0), TestSpec.whenAccessed(conf -> conf.get(getBooleanConfigOption("string"), true)) @@ -241,9 +245,13 @@ class ConfigurationConversionsTest { TestSpec.whenAccessed(conf -> conf.getLong("non_convertible_string", 0)) .expectException( "For input string: \"bcdefg&&\"", NumberFormatException.class), - TestSpec.whenAccessed(conf -> conf.getFloat("non_convertible_string", 0)) + TestSpec.whenAccessed( + conf -> + conf.get( + getFloatConfigOption("non_convertible_string"), 0f)) .expectException( - "For input string: \"bcdefg&&\"", NumberFormatException.class), + "Could not parse value 'bcdefg&&' for key 'non_convertible_string'.", + IllegalArgumentException.class), TestSpec.whenAccessed( conf -> conf.get( @@ -270,8 +278,8 @@ class ConfigurationConversionsTest { .expectException("For input string: \"true\""), TestSpec.whenAccessed(conf -> conf.getLong("boolean", 0)) .expectException("For input string: \"true\""), - TestSpec.whenAccessed(conf -> conf.getFloat("boolean", 0)) - .expectException("For input string: \"true\""), + TestSpec.whenAccessed(conf -> conf.get(getFloatConfigOption("boolean"), 0f)) + .expectException("Could not parse value 'true' for key 'boolean'."), TestSpec.whenAccessed(conf -> conf.get(getDoubleConfigOption("boolean"), 0.0)) .expectException("Could not parse value 'true' for key 'boolean'."), TestSpec.whenAccessed(conf -> conf.get(getBooleanConfigOption("boolean"), false)) diff --git a/flink-core/src/test/java/org/apache/flink/configuration/ConfigurationTest.java b/flink-core/src/test/java/org/apache/flink/configuration/ConfigurationTest.java index 6ec91f60a32..85f9b6006ed 100644 --- a/flink-core/src/test/java/org/apache/flink/configuration/ConfigurationTest.java +++ b/flink-core/src/test/java/org/apache/flink/configuration/ConfigurationTest.java @@ -39,6 +39,7 @@ import java.util.stream.Collectors; import static org.apache.flink.configuration.ConfigurationUtils.getBooleanConfigOption; import static org.apache.flink.configuration.ConfigurationUtils.getDoubleConfigOption; +import static org.apache.flink.configuration.ConfigurationUtils.getFloatConfigOption; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; @@ -87,7 +88,7 @@ class ConfigurationTest { orig.setString("mykey", "myvalue"); orig.setInteger("mynumber", 100); orig.setLong("longvalue", 478236947162389746L); - orig.setFloat("PI", 3.1415926f); + orig.set(getFloatConfigOption("PI"), 3.1415926f); orig.set(getDoubleConfigOption("E"), Math.E); orig.set(getBooleanConfigOption("shouldbetrue"), true); orig.setBytes("bytes sequence", new byte[] {1, 2, 3, 4, 5}); @@ -96,7 +97,8 @@ class ConfigurationTest { assertThat("myvalue").isEqualTo(copy.getString("mykey", "null")); assertThat(copy.getInteger("mynumber", 0)).isEqualTo(100); assertThat(copy.getLong("longvalue", 0L)).isEqualTo(478236947162389746L); - assertThat(copy.getFloat("PI", 3.1415926f)).isCloseTo(3.1415926f, Offset.offset(0.0f)); + assertThat(copy.get(getFloatConfigOption("PI"), 3.1415926f)) + .isCloseTo(3.1415926f, Offset.offset(0.0f)); assertThat(copy.get(getDoubleConfigOption("E"), 0.0)).isCloseTo(Math.E, Offset.offset(0.0)); assertThat(copy.get(getBooleanConfigOption("shouldbetrue"), false)).isTrue(); assertThat(copy.getBytes("bytes sequence", null)).containsExactly(1, 2, 3, 4, 5); diff --git a/flink-core/src/test/java/org/apache/flink/configuration/DelegatingConfigurationTest.java b/flink-core/src/test/java/org/apache/flink/configuration/DelegatingConfigurationTest.java index f8edbc06e83..32a08ee3620 100644 --- a/flink-core/src/test/java/org/apache/flink/configuration/DelegatingConfigurationTest.java +++ b/flink-core/src/test/java/org/apache/flink/configuration/DelegatingConfigurationTest.java @@ -167,11 +167,11 @@ class DelegatingConfigurationTest { // Test for float ConfigOption<Float> floatOption = ConfigOptions.key("float.key").floatType().noDefaultValue(); - original.setFloat(floatOption, 4f); - assertThat(delegatingConf.getFloat(floatOption, 5f)).isEqualTo(5f); + original.set(floatOption, 4f); assertThat(delegatingConf.get(floatOption, 5f)).isEqualTo(5f); - delegatingConf.setFloat(floatOption, 6f); - assertThat(delegatingConf.getFloat(floatOption, 5f)).isEqualTo(6f); + assertThat(delegatingConf.get(floatOption, 5f)).isEqualTo(5f); + delegatingConf.set(floatOption, 6f); + assertThat(delegatingConf.get(floatOption, 5f)).isEqualTo(6f); assertThat(delegatingConf.get(floatOption, 5f)).isEqualTo(6f); // Test for double diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/operators/util/TaskConfig.java b/flink-runtime/src/main/java/org/apache/flink/runtime/operators/util/TaskConfig.java index 537f40ec52d..a40b8aa7309 100644 --- a/flink-runtime/src/main/java/org/apache/flink/runtime/operators/util/TaskConfig.java +++ b/flink-runtime/src/main/java/org/apache/flink/runtime/operators/util/TaskConfig.java @@ -51,6 +51,7 @@ import java.util.List; import static org.apache.flink.configuration.ConfigurationUtils.getBooleanConfigOption; import static org.apache.flink.configuration.ConfigurationUtils.getDoubleConfigOption; +import static org.apache.flink.configuration.ConfigurationUtils.getFloatConfigOption; /** Configuration class which stores all relevant parameters required to set up the Pact tasks. */ public class TaskConfig implements Serializable { @@ -728,22 +729,24 @@ public class TaskConfig implements Serializable { if (threshold < 0.0f || threshold > 1.0f) { throw new IllegalArgumentException(); } - this.config.setFloat(SORT_SPILLING_THRESHOLD_DRIVER, threshold); + this.config.set(getFloatConfigOption(SORT_SPILLING_THRESHOLD_DRIVER), threshold); } public float getSpillingThresholdDriver() { - return this.config.getFloat(SORT_SPILLING_THRESHOLD_DRIVER, 0.7f); + return this.config.get(getFloatConfigOption(SORT_SPILLING_THRESHOLD_DRIVER), 0.7f); } public void setSpillingThresholdInput(int inputNum, float threshold) { if (threshold < 0.0f || threshold > 1.0f) { throw new IllegalArgumentException(); } - this.config.setFloat(SORT_SPILLING_THRESHOLD_INPUT_PREFIX + inputNum, threshold); + this.config.set( + getFloatConfigOption(SORT_SPILLING_THRESHOLD_INPUT_PREFIX + inputNum), threshold); } public float getSpillingThresholdInput(int inputNum) { - return this.config.getFloat(SORT_SPILLING_THRESHOLD_INPUT_PREFIX + inputNum, 0.7f); + return this.config.get( + getFloatConfigOption(SORT_SPILLING_THRESHOLD_INPUT_PREFIX + inputNum), 0.7f); } public void setUseLargeRecordHandler(boolean useLargeRecordHandler) {
