This is an automated email from the ASF dual-hosted git repository.
adoroszlai 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 3a64135760 HDDS-13198. Avoid warning due to wrong
min.free.space.percent default value (#8745)
3a64135760 is described below
commit 3a6413576013d17a173f4d7319dacb3dfd2a8108
Author: Eric C. Ho <[email protected]>
AuthorDate: Mon Jul 7 12:55:13 2025 +0800
HDDS-13198. Avoid warning due to wrong min.free.space.percent default value
(#8745)
---
.../container/common/statemachine/DatanodeConfiguration.java | 2 +-
.../container/common/statemachine/TestDatanodeConfiguration.java | 9 +++++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/DatanodeConfiguration.java
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/DatanodeConfiguration.java
index 812399372c..7d1c0543d0 100644
---
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/DatanodeConfiguration.java
+++
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/DatanodeConfiguration.java
@@ -294,7 +294,7 @@ public class DatanodeConfiguration extends
ReconfigurableConfig {
private long minFreeSpace = getDefaultFreeSpace();
@Config(key = "hdds.datanode.volume.min.free.space.percent",
- defaultValue = "-1",
+ defaultValue = "0.001", // match
HDDS_DATANODE_VOLUME_MIN_FREE_SPACE_PERCENT_DEFAULT
type = ConfigType.FLOAT,
tags = { OZONE, CONTAINER, STORAGE, MANAGEMENT },
description = "This determines the free space percent to be used for
closing containers" +
diff --git
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/TestDatanodeConfiguration.java
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/TestDatanodeConfiguration.java
index 857bcc4a6a..5012526782 100644
---
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/TestDatanodeConfiguration.java
+++
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/TestDatanodeConfiguration.java
@@ -32,6 +32,7 @@
import static
org.apache.hadoop.ozone.container.common.statemachine.DatanodeConfiguration.HDDS_DATANODE_VOLUME_MIN_FREE_SPACE_PERCENT_DEFAULT;
import static
org.apache.hadoop.ozone.container.common.statemachine.DatanodeConfiguration.PERIODIC_DISK_CHECK_INTERVAL_MINUTES_DEFAULT;
import static
org.apache.hadoop.ozone.container.common.statemachine.DatanodeConfiguration.PERIODIC_DISK_CHECK_INTERVAL_MINUTES_KEY;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.concurrent.TimeUnit;
@@ -41,6 +42,7 @@
import org.apache.hadoop.hdds.scm.pipeline.MockPipeline;
import org.apache.hadoop.ozone.OzoneConfigKeys;
import org.apache.hadoop.ozone.container.common.ContainerTestUtils;
+import org.apache.ozone.test.GenericTestUtils.LogCapturer;
import org.apache.ratis.conf.RaftProperties;
import org.apache.ratis.server.RaftServerConfigKeys;
import org.apache.ratis.util.TimeDuration;
@@ -157,6 +159,9 @@ public void isCreatedWitDefaultValues() {
// unset over-ridding configuration from ozone-site.xml defined for the
test module
conf.unset(DatanodeConfiguration.HDDS_DATANODE_VOLUME_MIN_FREE_SPACE); //
set in ozone-site.xml
+ // Capture logs to verify no warnings are generated
+ LogCapturer logCapturer =
LogCapturer.captureLogs(DatanodeConfiguration.class);
+
// WHEN
DatanodeConfiguration subject =
conf.getObject(DatanodeConfiguration.class);
@@ -185,6 +190,10 @@ public void isCreatedWitDefaultValues() {
// capacity is large, consider min_free_space_percent, max(min_free_space,
min_free_space_percent * capacity)ß
assertEquals(HDDS_DATANODE_VOLUME_MIN_FREE_SPACE_PERCENT_DEFAULT * oneGB *
oneGB,
subject.getMinFreeSpace(oneGB * oneGB));
+
+ // Verify that no warnings were logged when using default values
+ String logOutput = logCapturer.getOutput();
+ assertThat(logOutput).doesNotContain("is invalid, should be between 0 and
1");
}
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]