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 8a1de74b77d HDDS-15277. Refactor `TestContainerDataYaml` to ensure 
proper resource cleanup (#10275)
8a1de74b77d is described below

commit 8a1de74b77de8eff289275cf478d390f779af61a
Author: Han-Wen Hsu <[email protected]>
AuthorDate: Tue May 19 01:36:29 2026 +0800

    HDDS-15277. Refactor `TestContainerDataYaml` to ensure proper resource 
cleanup (#10275)
---
 .../common/impl/TestContainerDataYaml.java         | 38 +++++++---------------
 1 file changed, 11 insertions(+), 27 deletions(-)

diff --git 
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/impl/TestContainerDataYaml.java
 
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/impl/TestContainerDataYaml.java
index 84a2672b3f9..32350788aa9 100644
--- 
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/impl/TestContainerDataYaml.java
+++ 
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/impl/TestContainerDataYaml.java
@@ -30,8 +30,6 @@
 import java.util.UUID;
 import org.apache.commons.io.FileUtils;
 import org.apache.hadoop.conf.StorageUnit;
-import org.apache.hadoop.fs.FileSystemTestHelper;
-import org.apache.hadoop.fs.FileUtil;
 import org.apache.hadoop.hdds.HddsConfigKeys;
 import org.apache.hadoop.hdds.conf.ConfigurationSource;
 import org.apache.hadoop.hdds.conf.OzoneConfiguration;
@@ -41,6 +39,7 @@
 import org.apache.hadoop.ozone.container.keyvalue.ContainerLayoutTestInfo;
 import org.apache.hadoop.ozone.container.keyvalue.KeyValueContainerData;
 import org.apache.hadoop.ozone.container.upgrade.VersionedDatanodeFeatures;
+import org.junit.jupiter.api.io.TempDir;
 
 /**
  * This class tests create/read .container files.
@@ -49,7 +48,8 @@ public class TestContainerDataYaml {
 
   private long testContainerID = 1234;
 
-  private static String testRoot = new FileSystemTestHelper().getTestRootDir();
+  @TempDir
+  private File testRoot;
 
   private static final long MAXSIZE = (long) StorageUnit.GB.toBytes(5);
   private static final Instant SCAN_TIME = Instant.now();
@@ -65,13 +65,10 @@ private void setLayoutVersion(ContainerLayoutVersion 
layoutVersion) {
   }
 
   /**
-   * Creates a .container file. cleanup() should be called at the end of the
-   * test when container file is created.
+   * Creates a .container file.
    */
   private File createContainerFile(long containerID, int replicaIndex)
       throws IOException {
-    assertTrue(new File(testRoot).mkdirs());
-
     String containerPath = containerID + ".container";
 
     KeyValueContainerData keyValueContainerData = new KeyValueContainerData(
@@ -79,8 +76,8 @@ private File createContainerFile(long containerID, int 
replicaIndex)
         UUID.randomUUID().toString(),
         UUID.randomUUID().toString());
     keyValueContainerData.setContainerDBType(CONTAINER_DB_TYPE);
-    keyValueContainerData.setMetadataPath(testRoot);
-    keyValueContainerData.setChunksPath(testRoot);
+    keyValueContainerData.setMetadataPath(testRoot.getAbsolutePath());
+    keyValueContainerData.setChunksPath(testRoot.getAbsolutePath());
     keyValueContainerData.updateDataScanTime(SCAN_TIME);
     keyValueContainerData.setSchemaVersion(
         VersionedDatanodeFeatures.SchemaV2.chooseSchemaVersion());
@@ -98,10 +95,6 @@ private File createContainerFile(long containerID, int 
replicaIndex)
     return containerFile;
   }
 
-  private void cleanup() {
-    FileUtil.fullyDelete(new File(testRoot));
-  }
-
   @ContainerLayoutTestInfo.ContainerTest
   public void testCreateContainerFile(ContainerLayoutVersion layout)
       throws IOException {
@@ -127,9 +120,9 @@ public void testCreateContainerFile(ContainerLayoutVersion 
layout)
     assertEquals(MAXSIZE, kvData.getMaxSize());
     assertTrue(kvData.lastDataScanTime().isPresent());
     assertEquals(SCAN_TIME.toEpochMilli(),
-                 kvData.lastDataScanTime().get().toEpochMilli());
+        kvData.lastDataScanTime().get().toEpochMilli());
     assertEquals(SCAN_TIME.toEpochMilli(),
-                 kvData.getDataScanTimestamp().longValue());
+        kvData.getDataScanTimestamp().longValue());
     assertEquals(VersionedDatanodeFeatures.SchemaV2.chooseSchemaVersion(),
         kvData.getSchemaVersion());
     assertEquals(7, kvData.getReplicaIndex());
@@ -143,7 +136,7 @@ public void testCreateContainerFile(ContainerLayoutVersion 
layout)
     ContainerDataYaml.createContainerFile(kvData, containerFile);
 
     // Reading newly updated data from .container file
-    kvData =  (KeyValueContainerData) ContainerDataYaml.readContainerFile(
+    kvData = (KeyValueContainerData) ContainerDataYaml.readContainerFile(
         containerFile);
 
     // verify data.
@@ -166,8 +159,6 @@ public void testCreateContainerFile(ContainerLayoutVersion 
layout)
         kvData.lastDataScanTime().get().toEpochMilli());
     assertEquals(SCAN_TIME.toEpochMilli(),
         kvData.getDataScanTimestamp().longValue());
-
-    cleanup();
   }
 
   @ContainerLayoutTestInfo.ContainerTest
@@ -184,7 +175,6 @@ public void testCreateContainerFileWithoutReplicaIndex(
     assertThat(content)
         .withFailMessage("ReplicaIndex shouldn't be persisted if zero")
         .doesNotContain("replicaIndex");
-    cleanup();
   }
 
   @ContainerLayoutTestInfo.ContainerTest
@@ -234,7 +224,7 @@ void testCheckBackWardCompatibilityOfContainerFile(
   }
 
   /**
-   * Test to verify {@link 
ContainerUtils#verifyContainerFileChecksum(ContainerData,ConfigurationSource)}.
+   * Test to verify {@link 
ContainerUtils#verifyContainerFileChecksum(ContainerData, ConfigurationSource)}.
    */
   @ContainerLayoutTestInfo.ContainerTest
   public void testChecksumInContainerFile(ContainerLayoutVersion layout) 
throws IOException {
@@ -246,8 +236,6 @@ public void 
testChecksumInContainerFile(ContainerLayoutVersion layout) throws IO
     // Read from .container file, and verify data.
     KeyValueContainerData kvData = (KeyValueContainerData) 
ContainerDataYaml.readContainerFile(containerFile);
     ContainerUtils.verifyContainerFileChecksum(kvData, conf);
-
-    cleanup();
   }
 
   /**
@@ -265,12 +253,10 @@ public void 
testDataChecksumNotInContainerFile(ContainerLayoutVersion layout) th
     // file.
     KeyValueContainerData kvData = (KeyValueContainerData) 
ContainerDataYaml.readContainerFile(containerFile);
     assertEquals(0, kvData.getDataChecksum());
-
-    cleanup();
   }
 
   /**
-   * Test to verify {@link 
ContainerUtils#verifyContainerFileChecksum(ContainerData,ConfigurationSource)}.
+   * Test to verify {@link 
ContainerUtils#verifyContainerFileChecksum(ContainerData, ConfigurationSource)}.
    */
   @ContainerLayoutTestInfo.ContainerTest
   public void testChecksumInContainerFileWithReplicaIndex(
@@ -284,8 +270,6 @@ public void testChecksumInContainerFileWithReplicaIndex(
     KeyValueContainerData kvData = (KeyValueContainerData) ContainerDataYaml
         .readContainerFile(containerFile);
     ContainerUtils.verifyContainerFileChecksum(kvData, conf);
-
-    cleanup();
   }
 
   private KeyValueContainerData getKeyValueContainerData() throws IOException {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to