You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by sa...@apache.org on 2022/08/24 08:23:45 UTC
[ozone] branch master updated: HDDS-7162. Add Double in ConfigType (#3710)
This is an automated email from the ASF dual-hosted git repository.
sammichen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new 5c18a5624f HDDS-7162. Add Double in ConfigType (#3710)
5c18a5624f is described below
commit 5c18a5624f7f891da0bee219e9e8b8cd1281c479
Author: Symious <yi...@foxmail.com>
AuthorDate: Wed Aug 24 16:23:38 2022 +0800
HDDS-7162. Add Double in ConfigType (#3710)
---
.../org/apache/hadoop/hdds/conf/SimpleConfiguration.java | 13 +++++++++++++
.../org/apache/hadoop/hdds/conf/TestOzoneConfiguration.java | 10 ++++++++++
.../main/java/org/apache/hadoop/hdds/conf/ConfigType.java | 3 ++-
.../hadoop/hdds/conf/ConfigurationReflectionUtil.java | 9 +++++++++
.../org/apache/hadoop/hdds/conf/ConfigurationTarget.java | 4 ++++
.../org/apache/hadoop/hdds/conf/ConfigurationExample.java | 13 +++++++++++++
.../hadoop/hdds/conf/TestConfigurationReflectionUtil.java | 4 ++++
7 files changed, 55 insertions(+), 1 deletion(-)
diff --git a/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/conf/SimpleConfiguration.java b/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/conf/SimpleConfiguration.java
index a0b7972097..16fc4e6311 100644
--- a/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/conf/SimpleConfiguration.java
+++ b/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/conf/SimpleConfiguration.java
@@ -52,6 +52,11 @@ public class SimpleConfiguration extends SimpleConfigurationParent {
tags = ConfigTag.OZONE)
private Class<?> myClass = Object.class;
+ @Config(key = "threshold", type = ConfigType.DOUBLE,
+ defaultValue = "10", description = "Threshold (To test DOUBLE config" +
+ " type)", tags = ConfigTag.MANAGEMENT)
+ private double threshold;
+
@PostConstruct
public void validate() {
if (port < 0) {
@@ -106,4 +111,12 @@ public class SimpleConfiguration extends SimpleConfigurationParent {
public void setMyClass(Class<?> aClass) {
this.myClass = aClass;
}
+
+ public double getThreshold() {
+ return threshold;
+ }
+
+ public void setThreshold(double threshold) {
+ this.threshold = threshold;
+ }
}
diff --git a/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/conf/TestOzoneConfiguration.java b/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/conf/TestOzoneConfiguration.java
index cf20f81989..fe83cf1705 100644
--- a/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/conf/TestOzoneConfiguration.java
+++ b/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/conf/TestOzoneConfiguration.java
@@ -112,6 +112,7 @@ public class TestOzoneConfiguration {
ozoneConfig.setInt("test.scm.client.port", 5555);
ozoneConfig.setTimeDuration("test.scm.client.wait", 10, TimeUnit.MINUTES);
ozoneConfig.set("test.scm.client.class", Integer.class.getName());
+ ozoneConfig.setDouble("test.scm.client.threshold", 10.5);
SimpleConfiguration configuration =
ozoneConfig.getObject(SimpleConfiguration.class);
@@ -122,6 +123,7 @@ public class TestOzoneConfiguration {
Assertions.assertEquals(5555, configuration.getPort());
Assertions.assertEquals(600, configuration.getWaitTime());
Assertions.assertSame(Integer.class, configuration.getMyClass());
+ Assertions.assertEquals(10.5, configuration.getThreshold());
}
@Test
@@ -134,6 +136,7 @@ public class TestOzoneConfiguration {
Assertions.assertTrue(configuration.isEnabled());
Assertions.assertEquals(9878, configuration.getPort());
Assertions.assertSame(Object.class, configuration.getMyClass());
+ Assertions.assertEquals(10, configuration.getThreshold());
}
@Test
@@ -146,6 +149,7 @@ public class TestOzoneConfiguration {
object.setPort(5555);
object.setWaitTime(600);
object.setMyClass(this.getClass());
+ object.setThreshold(10.5);
OzoneConfiguration subject = new OzoneConfiguration();
@@ -165,6 +169,8 @@ public class TestOzoneConfiguration {
subject.getTimeDuration("test.scm.client.wait", 0, TimeUnit.MINUTES));
Assertions.assertSame(this.getClass(),
subject.getClass("test.scm.client.class", null));
+ Assertions.assertEquals(object.getThreshold(),
+ subject.getDouble("test.scm.client.threshold", 20.5));
}
@Test
@@ -187,6 +193,8 @@ public class TestOzoneConfiguration {
subject.getInt("test.scm.client.port", 123));
Assertions.assertEquals(TimeUnit.MINUTES.toSeconds(30),
subject.getTimeDuration("test.scm.client.wait", 555, TimeUnit.SECONDS));
+ Assertions.assertEquals(10,
+ subject.getDouble("test.scm.client.threshold", 20.5));
}
@Test
@@ -236,6 +244,8 @@ public class TestOzoneConfiguration {
subject.getInt("test.scm.client.port", 123));
Assertions.assertEquals(0,
subject.getTimeDuration("test.scm.client.wait", 555, TimeUnit.SECONDS));
+ Assertions.assertEquals(0,
+ subject.getDouble("test.scm.client.threshold", 20.5));
}
@Test
diff --git a/hadoop-hdds/config/src/main/java/org/apache/hadoop/hdds/conf/ConfigType.java b/hadoop-hdds/config/src/main/java/org/apache/hadoop/hdds/conf/ConfigType.java
index fd3e958543..7dd38ac08a 100644
--- a/hadoop-hdds/config/src/main/java/org/apache/hadoop/hdds/conf/ConfigType.java
+++ b/hadoop-hdds/config/src/main/java/org/apache/hadoop/hdds/conf/ConfigType.java
@@ -31,5 +31,6 @@ public enum ConfigType {
LONG,
TIME,
SIZE,
- CLASS
+ CLASS,
+ DOUBLE
}
diff --git a/hadoop-hdds/config/src/main/java/org/apache/hadoop/hdds/conf/ConfigurationReflectionUtil.java b/hadoop-hdds/config/src/main/java/org/apache/hadoop/hdds/conf/ConfigurationReflectionUtil.java
index 5b6d430118..189d97207c 100644
--- a/hadoop-hdds/config/src/main/java/org/apache/hadoop/hdds/conf/ConfigurationReflectionUtil.java
+++ b/hadoop-hdds/config/src/main/java/org/apache/hadoop/hdds/conf/ConfigurationReflectionUtil.java
@@ -93,6 +93,10 @@ public final class ConfigurationReflectionUtil {
forcedFieldSet(field, configuration,
from.getLong(key, Long.parseLong(defaultValue)));
break;
+ case DOUBLE:
+ forcedFieldSet(field, configuration,
+ from.getDouble(key, Double.parseDouble(defaultValue)));
+ break;
case TIME:
forcedFieldSet(field, configuration,
from.getTimeDuration(key, defaultValue,
@@ -151,6 +155,8 @@ public final class ConfigurationReflectionUtil {
type = ConfigType.INT;
} else if (parameterType == Long.class || parameterType == long.class) {
type = ConfigType.LONG;
+ } else if (parameterType == Double.class || parameterType == double.class) {
+ type = ConfigType.DOUBLE;
} else if (parameterType == Boolean.class
|| parameterType == boolean.class) {
type = ConfigType.BOOLEAN;
@@ -244,6 +250,9 @@ public final class ConfigurationReflectionUtil {
case LONG:
config.setLong(key, field.getLong(configObject));
break;
+ case DOUBLE:
+ config.setDouble(key, field.getDouble(configObject));
+ break;
case TIME:
config.setTimeDuration(key, field.getLong(configObject),
configAnnotation.timeUnit());
diff --git a/hadoop-hdds/config/src/main/java/org/apache/hadoop/hdds/conf/ConfigurationTarget.java b/hadoop-hdds/config/src/main/java/org/apache/hadoop/hdds/conf/ConfigurationTarget.java
index acc6614dab..b6be89cd0c 100644
--- a/hadoop-hdds/config/src/main/java/org/apache/hadoop/hdds/conf/ConfigurationTarget.java
+++ b/hadoop-hdds/config/src/main/java/org/apache/hadoop/hdds/conf/ConfigurationTarget.java
@@ -36,6 +36,10 @@ public interface ConfigurationTarget {
set(name, Long.toString(value));
}
+ default void setDouble(String name, double value) {
+ set(name, Double.toString(value));
+ }
+
default void setBoolean(String name, boolean value) {
set(name, Boolean.toString(value));
}
diff --git a/hadoop-hdds/config/src/test/java/org/apache/hadoop/hdds/conf/ConfigurationExample.java b/hadoop-hdds/config/src/test/java/org/apache/hadoop/hdds/conf/ConfigurationExample.java
index dafc6304b1..9e039d1279 100644
--- a/hadoop-hdds/config/src/test/java/org/apache/hadoop/hdds/conf/ConfigurationExample.java
+++ b/hadoop-hdds/config/src/test/java/org/apache/hadoop/hdds/conf/ConfigurationExample.java
@@ -47,6 +47,11 @@ public class ConfigurationExample extends ConfigurationExampleParent {
+ "test TIME config type)", tags = ConfigTag.MANAGEMENT)
private long waitTime = 1;
+ @Config(key = "threshold", type = ConfigType.DOUBLE, defaultValue = "10",
+ description = "Threshold (To test DOUBLE config type)",
+ tags = ConfigTag.MANAGEMENT)
+ private double threshold = 10;
+
public void setClientAddress(String clientAddress) {
this.clientAddress = clientAddress;
}
@@ -67,6 +72,10 @@ public class ConfigurationExample extends ConfigurationExampleParent {
this.waitTime = waitTime;
}
+ public void setThreshold(double threshold) {
+ this.threshold = threshold;
+ }
+
public String getClientAddress() {
return clientAddress;
}
@@ -86,4 +95,8 @@ public class ConfigurationExample extends ConfigurationExampleParent {
public long getWaitTime() {
return waitTime;
}
+
+ public double getThreshold() {
+ return threshold;
+ }
}
diff --git a/hadoop-hdds/config/src/test/java/org/apache/hadoop/hdds/conf/TestConfigurationReflectionUtil.java b/hadoop-hdds/config/src/test/java/org/apache/hadoop/hdds/conf/TestConfigurationReflectionUtil.java
index 7f523c3903..d9f3d43198 100644
--- a/hadoop-hdds/config/src/test/java/org/apache/hadoop/hdds/conf/TestConfigurationReflectionUtil.java
+++ b/hadoop-hdds/config/src/test/java/org/apache/hadoop/hdds/conf/TestConfigurationReflectionUtil.java
@@ -64,6 +64,10 @@ public class TestConfigurationReflectionUtil {
null, false,
"", false,
"", false},
+ {ConfigurationExample.class, "threshold",
+ ConfigType.DOUBLE, true,
+ "ozone.scm.client.threshold", true,
+ "10", true},
});
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ozone.apache.org
For additional commands, e-mail: commits-help@ozone.apache.org