From 7d40d1fdaccca7e6f0dbfbb6f77356acdf859901 Mon Sep 17 00:00:00 2001 From: Chia-Chuan Yu Date: Thu, 10 Apr 2025 22:01:03 +0800 Subject: [PATCH 01/13] HDDS-12524. Reuse TestDataUtil.createKey in more tests --- .../AbstractRootedOzoneFileSystemTest.java | 52 ++++++++----------- ...orageContainerManagerHAWithAllRunning.java | 5 +- .../hadoop/ozone/client/rpc/TestBCSID.java | 11 ++-- .../rpc/TestHybridPipelineOnDatanode.java | 21 +++----- .../client/rpc/TestOzoneAtRestEncryption.java | 25 ++++----- ...estOzoneRpcClientWithKeyLatestVersion.java | 8 +-- .../ozone/client/rpc/TestReadRetries.java | 9 ++-- .../client/rpc/TestSecureOzoneRpcClient.java | 6 +-- .../container/TestContainerReplication.java | 23 ++++---- .../TestContainerReportHandling.java | 9 ++-- .../TestContainerReportHandlingWithHA.java | 9 ++-- ...estDatanodeHddsVolumeFailureDetection.java | 7 +-- .../apache/hadoop/ozone/om/TestBucket.java | 5 +- .../recon/TestReconAndAdminContainerCLI.java | 7 +-- 14 files changed, 70 insertions(+), 127 deletions(-) diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java index d27622592244..8ac967fba648 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java @@ -57,12 +57,12 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Paths; import java.security.PrivilegedExceptionAction; +import java.security.SecureRandom; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.EnumSet; -import java.util.HashMap; import java.util.Iterator; import java.util.LinkedList; import java.util.List; @@ -113,7 +113,6 @@ import org.apache.hadoop.ozone.client.OzoneKeyDetails; import org.apache.hadoop.ozone.client.OzoneVolume; import org.apache.hadoop.ozone.client.VolumeArgs; -import org.apache.hadoop.ozone.client.io.OzoneOutputStream; import org.apache.hadoop.ozone.client.protocol.ClientProtocol; import org.apache.hadoop.ozone.om.OMConfigKeys; import org.apache.hadoop.ozone.om.OMMetrics; @@ -222,6 +221,7 @@ public Path getBucketPath() { .createUserForTesting(USER1, new String[] {"usergroup"}); // Non-privileged OFS instance private RootedOzoneFileSystem userOfs; + private SecureRandom random; @BeforeAll void initClusterAndEnv() throws IOException, InterruptedException, TimeoutException { @@ -274,6 +274,7 @@ void initClusterAndEnv() throws IOException, InterruptedException, TimeoutExcept userOfs = UGI_USER1.doAs( (PrivilegedExceptionAction)() -> (RootedOzoneFileSystem) FileSystem.get(conf)); + random = new SecureRandom(); } protected OMMetrics getOMMetrics() { @@ -342,12 +343,10 @@ void testListStatusWithIntermediateDirWithECEnabled() String key = "object-dir/object-name1"; // write some test data into bucket - try (OzoneOutputStream outputStream = objectStore.getVolume(volumeName). - getBucket(bucketName).createKey(key, 1, - new ECReplicationConfig("RS-3-2-1024k"), - new HashMap<>())) { - outputStream.write(RandomUtils.nextBytes(1)); - } + byte[] bytes = new byte[1]; + random.nextBytes(bytes); + TestDataUtil.createKey(objectStore.getVolume(volumeName).getBucket(bucketName), key, + new ECReplicationConfig("RS-3-2-1024k"), bytes); List dirs = Arrays.asList(volumeName, bucketName, "object-dir", "object-name1"); @@ -1495,11 +1494,9 @@ void testSymlinkList() throws Exception { // add key in source bucket final String key = "object-dir/object-name1"; - try (OzoneOutputStream outputStream = objectStore.getVolume(srcVolume) - .getBucket(srcBucket) - .createKey(key, 1)) { - outputStream.write(RandomUtils.nextBytes(1)); - } + byte[] bytes = new byte[1]; + TestDataUtil.createKey(objectStore.getVolume(volumeName).getBucket(bucketName), + key, bytes); assertEquals(objectStore.getVolume(srcVolume) .getBucket(srcBucket).getKey(key).getName(), key); @@ -1546,11 +1543,10 @@ void testSymlinkPosixDelete() throws Exception { // add key to srcBucket final String key = "object-dir/object-name1"; - try (OzoneOutputStream outputStream = objectStore.getVolume(srcVolume) - .getBucket(srcBucket) - .createKey(key, 1)) { - outputStream.write(RandomUtils.nextBytes(1)); - } + byte[] bytes = new byte[1]; + random.nextBytes(bytes); + TestDataUtil.createKey(objectStore.getVolume(volumeName).getBucket(bucketName), + key, bytes); assertEquals(objectStore.getVolume(srcVolume) .getBucket(srcBucket).getKey(key).getName(), key); @@ -2231,12 +2227,10 @@ void testCreateAndCheckECFileDiskUsage() throws Exception { Path bucketPathTest = new Path(volPathTest, bucketName); // write some test data into bucket - try (OzoneOutputStream outputStream = objectStore.getVolume(volumeName). - getBucket(bucketName).createKey(key, 1, - new ECReplicationConfig("RS-3-2-1024k"), - new HashMap<>())) { - outputStream.write(RandomUtils.nextBytes(1)); - } + byte[] bytes = new byte[1]; + random.nextBytes(bytes); + TestDataUtil.createKey(objectStore.getVolume(volumeName).getBucket(bucketName), + key, new ECReplicationConfig("RS-3-2-1024k"), bytes); // make sure the disk usage matches the expected value Path filePath = new Path(bucketPathTest, key); ContentSummary contentSummary = ofs.getContentSummary(filePath); @@ -2258,13 +2252,9 @@ void testCreateAndCheckRatisFileDiskUsage() throws Exception { Path filePathTest = new Path(bucketPathTest, key); // write some test data into bucket - try (OzoneOutputStream outputStream = objectStore.getVolume(volumeName). - getBucket(bucketName).createKey(key, 1, - RatisReplicationConfig.getInstance( - HddsProtos.ReplicationFactor.THREE), - new HashMap<>())) { - outputStream.write(RandomUtils.nextBytes(1)); - } + byte[] bytes = new byte[1]; + TestDataUtil.createKey(objectStore.getVolume(volumeName).getBucket(bucketName), + key, RatisReplicationConfig.getInstance(HddsProtos.ReplicationFactor.THREE), bytes); // make sure the disk usage matches the expected value ContentSummary contentSummary = ofs.getContentSummary(filePathTest); long length = contentSummary.getLength(); diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestStorageContainerManagerHAWithAllRunning.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestStorageContainerManagerHAWithAllRunning.java index 1447e377b464..16ac9de38f38 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestStorageContainerManagerHAWithAllRunning.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestStorageContainerManagerHAWithAllRunning.java @@ -38,6 +38,7 @@ import org.apache.hadoop.hdds.scm.ha.SCMHAMetrics; import org.apache.hadoop.hdds.scm.ha.SCMRatisServerImpl; import org.apache.hadoop.hdds.scm.server.StorageContainerManager; +import org.apache.hadoop.ozone.TestDataUtil; import org.apache.hadoop.ozone.client.ObjectStore; import org.apache.hadoop.ozone.client.OzoneBucket; import org.apache.hadoop.ozone.client.OzoneClient; @@ -129,9 +130,7 @@ private void doPutKey() throws Exception { byte[] bytes = value.getBytes(UTF_8); RatisReplicationConfig replication = RatisReplicationConfig.getInstance(HddsProtos.ReplicationFactor.ONE); - try (OutputStream out = bucket.createKey(keyName, bytes.length, replication, new HashMap<>())) { - out.write(bytes); - } + TestDataUtil.createKey(bucket, keyName, replication, bytes); OzoneKey key = bucket.getKey(keyName); assertEquals(keyName, key.getName()); diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestBCSID.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestBCSID.java index bccbee395418..233ff13e8b62 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestBCSID.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestBCSID.java @@ -38,6 +38,7 @@ import org.apache.hadoop.hdds.protocol.proto.HddsProtos; import org.apache.hadoop.hdds.utils.IOUtils; import org.apache.hadoop.ozone.MiniOzoneCluster; +import org.apache.hadoop.ozone.TestDataUtil; import org.apache.hadoop.ozone.client.ObjectStore; import org.apache.hadoop.ozone.client.OzoneClient; import org.apache.hadoop.ozone.client.OzoneClientFactory; @@ -104,13 +105,9 @@ public static void shutdown() { @Test public void testBCSID() throws Exception { - OzoneOutputStream key = - objectStore.getVolume(volumeName).getBucket(bucketName) - .createKey("ratis", 1024, - ReplicationConfig.fromTypeAndFactor(ReplicationType.RATIS, - ReplicationFactor.ONE), new HashMap<>()); - key.write("ratis".getBytes(UTF_8)); - key.close(); + TestDataUtil.createKey(objectStore.getVolume(volumeName).getBucket(bucketName), + "ratis", ReplicationConfig.fromTypeAndFactor(ReplicationType.RATIS, + ReplicationFactor.ONE), "ratis".getBytes(UTF_8)); // get the name of a valid container. OmKeyArgs keyArgs = new OmKeyArgs.Builder().setVolumeName(volumeName). diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestHybridPipelineOnDatanode.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestHybridPipelineOnDatanode.java index 2d7928b476e6..08e8ddba47c8 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestHybridPipelineOnDatanode.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestHybridPipelineOnDatanode.java @@ -26,7 +26,6 @@ import static org.junit.jupiter.api.Assertions.assertSame; import java.io.IOException; -import java.util.HashMap; import java.util.List; import java.util.UUID; import org.apache.hadoop.hdds.client.ReplicationConfig; @@ -39,6 +38,7 @@ import org.apache.hadoop.hdds.scm.pipeline.PipelineID; import org.apache.hadoop.hdds.utils.IOUtils; import org.apache.hadoop.ozone.MiniOzoneCluster; +import org.apache.hadoop.ozone.TestDataUtil; import org.apache.hadoop.ozone.client.ObjectStore; import org.apache.hadoop.ozone.client.OzoneBucket; import org.apache.hadoop.ozone.client.OzoneClient; @@ -47,7 +47,6 @@ import org.apache.hadoop.ozone.client.OzoneKeyDetails; import org.apache.hadoop.ozone.client.OzoneVolume; import org.apache.hadoop.ozone.client.io.OzoneInputStream; -import org.apache.hadoop.ozone.client.io.OzoneOutputStream; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; @@ -111,22 +110,16 @@ public void testHybridPipelineOnDatanode() throws IOException { String keyName1 = UUID.randomUUID().toString(); // Write data into a key - OzoneOutputStream out = bucket - .createKey(keyName1, data.length, - ReplicationConfig.fromTypeAndFactor(ReplicationType.RATIS, - ReplicationFactor.ONE), new HashMap<>()); - out.write(value.getBytes(UTF_8)); - out.close(); + TestDataUtil.createKey(bucket, keyName1, + ReplicationConfig.fromTypeAndFactor(ReplicationType.RATIS, + ReplicationFactor.ONE), value.getBytes(UTF_8)); String keyName2 = UUID.randomUUID().toString(); // Write data into a key - out = bucket - .createKey(keyName2, data.length, - ReplicationConfig.fromTypeAndFactor(ReplicationType.RATIS, - ReplicationFactor.THREE), new HashMap<>()); - out.write(value.getBytes(UTF_8)); - out.close(); + TestDataUtil.createKey(bucket, keyName2, + ReplicationConfig.fromTypeAndFactor(ReplicationType.RATIS, + ReplicationFactor.THREE), value.getBytes(UTF_8)); // We need to find the location of the chunk file corresponding to the // data we just wrote. diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneAtRestEncryption.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneAtRestEncryption.java index 35d4dae2d2fa..38bf4b8541c8 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneAtRestEncryption.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneAtRestEncryption.java @@ -86,6 +86,7 @@ import org.apache.hadoop.ozone.ClientConfigForTesting; import org.apache.hadoop.ozone.MiniOzoneCluster; import org.apache.hadoop.ozone.OzoneConsts; +import org.apache.hadoop.ozone.TestDataUtil; import org.apache.hadoop.ozone.client.BucketArgs; import org.apache.hadoop.ozone.client.ObjectStore; import org.apache.hadoop.ozone.client.OzoneBucket; @@ -298,22 +299,19 @@ static void createAndVerifyKeyData(OzoneBucket bucket) throws Exception { Instant testStartTime = getTestStartTime(); String keyName = UUID.randomUUID().toString(); String value = "sample value"; - try (OzoneOutputStream out = bucket.createKey(keyName, - value.getBytes(StandardCharsets.UTF_8).length, + + TestDataUtil.createKey(bucket, keyName, ReplicationConfig.fromTypeAndFactor(RATIS, ONE), - new HashMap<>())) { - out.write(value.getBytes(StandardCharsets.UTF_8)); - } + value.getBytes(StandardCharsets.UTF_8)); + verifyKeyData(bucket, keyName, value, testStartTime); OzoneKeyDetails key1 = bucket.getKey(keyName); // Overwrite the key - try (OzoneOutputStream out = bucket.createKey(keyName, - value.getBytes(StandardCharsets.UTF_8).length, + TestDataUtil.createKey(bucket, keyName, ReplicationConfig.fromTypeAndFactor(RATIS, ONE), - new HashMap<>())) { - out.write(value.getBytes(StandardCharsets.UTF_8)); - } + value.getBytes(StandardCharsets.UTF_8)); + OzoneKeyDetails key2 = bucket.getKey(keyName); assertNotEquals(key1.getFileEncryptionInfo().toString(), key2.getFileEncryptionInfo().toString()); } @@ -429,12 +427,9 @@ void testKeyWithEncryptionAndGdpr(BucketLayout bucketLayout) String keyName = UUID.randomUUID().toString(); Map keyMetadata = new HashMap<>(); keyMetadata.put(OzoneConsts.GDPR_FLAG, "true"); - try (OzoneOutputStream out = bucket.createKey(keyName, - value.getBytes(StandardCharsets.UTF_8).length, + TestDataUtil.createKey(bucket, keyName, ReplicationConfig.fromTypeAndFactor(RATIS, ONE), - keyMetadata)) { - out.write(value.getBytes(StandardCharsets.UTF_8)); - } + value.getBytes(StandardCharsets.UTF_8)); OzoneKeyDetails key = bucket.getKey(keyName); assertEquals(keyName, key.getName()); diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneRpcClientWithKeyLatestVersion.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneRpcClientWithKeyLatestVersion.java index 50ea1c0eee4a..fa6bf2274c0a 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneRpcClientWithKeyLatestVersion.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneRpcClientWithKeyLatestVersion.java @@ -25,8 +25,6 @@ import java.io.IOException; import java.io.InputStream; -import java.io.OutputStream; -import java.util.HashMap; import java.util.List; import java.util.UUID; import org.apache.commons.io.IOUtils; @@ -34,6 +32,7 @@ import org.apache.hadoop.hdds.client.RatisReplicationConfig; import org.apache.hadoop.hdds.client.ReplicationConfig; import org.apache.hadoop.hdds.conf.OzoneConfiguration; +import org.apache.hadoop.ozone.TestDataUtil; import org.apache.hadoop.ozone.client.BucketArgs; import org.apache.hadoop.ozone.client.ObjectStore; import org.apache.hadoop.ozone.client.OzoneBucket; @@ -105,10 +104,7 @@ private void createAndOverwriteKey(OzoneBucket bucket, String key, private static void writeKey(OzoneBucket bucket, String key, byte[] content, ReplicationConfig replication) throws IOException { - try (OutputStream out = bucket.createKey(key, content.length, replication, - new HashMap<>())) { - out.write(content); - } + TestDataUtil.createKey(bucket, key, replication, content); } public static void assertKeyContent(OzoneBucket bucket, String key, diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestReadRetries.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestReadRetries.java index 98d4d2bba615..06cd29529eac 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestReadRetries.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestReadRetries.java @@ -25,8 +25,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.IOException; -import java.io.OutputStream; -import java.util.HashMap; import java.util.List; import java.util.UUID; import org.apache.commons.lang3.RandomUtils; @@ -39,6 +37,7 @@ import org.apache.hadoop.hdds.scm.pipeline.Pipeline; import org.apache.hadoop.hdds.scm.server.StorageContainerManager; import org.apache.hadoop.ozone.MiniOzoneCluster; +import org.apache.hadoop.ozone.TestDataUtil; import org.apache.hadoop.ozone.client.ObjectStore; import org.apache.hadoop.ozone.client.OzoneBucket; import org.apache.hadoop.ozone.client.OzoneClient; @@ -81,10 +80,8 @@ void testPutKeyAndGetKeyThreeNodes() throws Exception { String keyName = "a/b/c/" + UUID.randomUUID(); byte[] content = RandomUtils.nextBytes(128); - try (OutputStream out = bucket.createKey(keyName, content.length, - RatisReplicationConfig.getInstance(THREE), new HashMap<>())) { - out.write(content); - } + TestDataUtil.createKey(bucket, keyName, + RatisReplicationConfig.getInstance(THREE), content); // First, confirm the key info from the client matches the info in OM. OmKeyArgs keyArgs = new OmKeyArgs.Builder() diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestSecureOzoneRpcClient.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestSecureOzoneRpcClient.java index 0ce1457bdf67..6645687e8d1c 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestSecureOzoneRpcClient.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestSecureOzoneRpcClient.java @@ -59,6 +59,7 @@ import org.apache.hadoop.ozone.ClientVersion; import org.apache.hadoop.ozone.MiniOzoneCluster; import org.apache.hadoop.ozone.OzoneConfigKeys; +import org.apache.hadoop.ozone.TestDataUtil; import org.apache.hadoop.ozone.client.BucketArgs; import org.apache.hadoop.ozone.client.OzoneBucket; import org.apache.hadoop.ozone.client.OzoneKey; @@ -159,10 +160,7 @@ private void testPutKeySuccessWithBlockTokenWithBucketLayout( String keyName = UUID.randomUUID().toString(); long committedBytes = ozoneManager.getMetrics().getDataCommittedBytes(); - try (OzoneOutputStream out = bucket.createKey(keyName, - value.getBytes(UTF_8).length, replication, new HashMap<>())) { - out.write(value.getBytes(UTF_8)); - } + TestDataUtil.createKey(bucket, keyName, replication, value.getBytes(UTF_8)); assertEquals(committedBytes + value.getBytes(UTF_8).length, ozoneManager.getMetrics().getDataCommittedBytes()); diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/TestContainerReplication.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/TestContainerReplication.java index 9f3f67324b67..6fd43b03f3a0 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/TestContainerReplication.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/TestContainerReplication.java @@ -19,7 +19,6 @@ import static java.nio.charset.StandardCharsets.UTF_8; import static java.util.Arrays.asList; -import static java.util.Collections.emptyMap; import static org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos.ContainerType.KeyValueContainer; import static org.apache.hadoop.hdds.protocol.proto.HddsProtos.ReplicationFactor.THREE; import static org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_CONTAINER_PLACEMENT_EC_IMPL_KEY; @@ -40,11 +39,9 @@ import com.google.common.base.Functions; import com.google.common.collect.ImmutableMap; import java.io.IOException; -import java.io.OutputStream; import java.time.Duration; import java.util.ArrayList; import java.util.Arrays; -import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -69,6 +66,7 @@ import org.apache.hadoop.hdds.scm.storage.ContainerProtocolCalls; import org.apache.hadoop.ozone.HddsDatanodeService; import org.apache.hadoop.ozone.MiniOzoneCluster; +import org.apache.hadoop.ozone.TestDataUtil; import org.apache.hadoop.ozone.client.ObjectStore; import org.apache.hadoop.ozone.client.OzoneBucket; import org.apache.hadoop.ozone.client.OzoneClient; @@ -193,10 +191,8 @@ private void createTestData(OzoneClient client) throws IOException { OzoneBucket bucket = volume.getBucket(BUCKET); - try (OutputStream out = bucket.createKey(KEY, 0, - RatisReplicationConfig.getInstance(THREE), emptyMap())) { - out.write("Hello".getBytes(UTF_8)); - } + TestDataUtil.createKey(bucket, KEY, + RatisReplicationConfig.getInstance(THREE), "Hello".getBytes(UTF_8)); } private byte[] createTestData(OzoneClient client, int size) throws IOException { @@ -205,13 +201,12 @@ private byte[] createTestData(OzoneClient client, int size) throws IOException { OzoneVolume volume = objectStore.getVolume(VOLUME); volume.createBucket(BUCKET); OzoneBucket bucket = volume.getBucket(BUCKET); - try (OutputStream out = bucket.createKey(KEY, 0, new ECReplicationConfig("RS-3-2-1k"), - new HashMap<>())) { - byte[] b = new byte[size]; - b = RandomUtils.secure().randomBytes(b.length); - out.write(b); - return b; - } + + byte[] b = new byte[size]; + b = RandomUtils.secure().randomBytes(b.length); + TestDataUtil.createKey(bucket, KEY, + new ECReplicationConfig("RS-3-2-1k"), b); + return b; } private static List lookupKey(MiniOzoneCluster cluster) diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/TestContainerReportHandling.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/TestContainerReportHandling.java index 1aed5b76d3d4..5327fc78bf03 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/TestContainerReportHandling.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/TestContainerReportHandling.java @@ -18,7 +18,6 @@ package org.apache.hadoop.ozone.container; import static java.nio.charset.StandardCharsets.UTF_8; -import static java.util.Collections.emptyMap; import static org.apache.hadoop.hdds.protocol.proto.HddsProtos.ReplicationFactor.THREE; import static org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_DEADNODE_INTERVAL; import static org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_STALENODE_INTERVAL; @@ -30,7 +29,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.IOException; -import java.io.OutputStream; import java.nio.file.Path; import java.nio.file.Paths; import java.util.List; @@ -43,6 +41,7 @@ import org.apache.hadoop.hdds.scm.container.ContainerManager; import org.apache.hadoop.ozone.HddsDatanodeService; import org.apache.hadoop.ozone.MiniOzoneCluster; +import org.apache.hadoop.ozone.TestDataUtil; import org.apache.hadoop.ozone.client.ObjectStore; import org.apache.hadoop.ozone.client.OzoneBucket; import org.apache.hadoop.ozone.client.OzoneClient; @@ -151,10 +150,8 @@ private void createTestData(OzoneClient client) throws IOException { OzoneBucket bucket = volume.getBucket(BUCKET); - try (OutputStream out = bucket.createKey(KEY, 0, - RatisReplicationConfig.getInstance(THREE), emptyMap())) { - out.write("Hello".getBytes(UTF_8)); - } + TestDataUtil.createKey(bucket, KEY, + RatisReplicationConfig.getInstance(THREE), "Hello".getBytes(UTF_8)); } } diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/TestContainerReportHandlingWithHA.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/TestContainerReportHandlingWithHA.java index 357945a3fa5f..d9337ef716b1 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/TestContainerReportHandlingWithHA.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/TestContainerReportHandlingWithHA.java @@ -18,7 +18,6 @@ package org.apache.hadoop.ozone.container; import static java.nio.charset.StandardCharsets.UTF_8; -import static java.util.Collections.emptyMap; import static org.apache.hadoop.hdds.protocol.proto.HddsProtos.ReplicationFactor.THREE; import static org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_DEADNODE_INTERVAL; import static org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_STALENODE_INTERVAL; @@ -30,7 +29,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.IOException; -import java.io.OutputStream; import java.nio.file.Path; import java.nio.file.Paths; import java.util.List; @@ -46,6 +44,7 @@ import org.apache.hadoop.ozone.HddsDatanodeService; import org.apache.hadoop.ozone.MiniOzoneCluster; import org.apache.hadoop.ozone.MiniOzoneHAClusterImpl; +import org.apache.hadoop.ozone.TestDataUtil; import org.apache.hadoop.ozone.client.ObjectStore; import org.apache.hadoop.ozone.client.OzoneBucket; import org.apache.hadoop.ozone.client.OzoneClient; @@ -156,10 +155,8 @@ private void createTestData(OzoneClient client) throws IOException { OzoneBucket bucket = volume.getBucket(BUCKET); - try (OutputStream out = bucket.createKey(KEY, 0, - RatisReplicationConfig.getInstance(THREE), emptyMap())) { - out.write("Hello".getBytes(UTF_8)); - } + TestDataUtil.createKey(bucket, KEY, + RatisReplicationConfig.getInstance(THREE), "Hello".getBytes(UTF_8)); } private static void waitForContainerStateInAllSCMs(MiniOzoneHAClusterImpl cluster, ContainerID containerID, diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/dn/volume/TestDatanodeHddsVolumeFailureDetection.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/dn/volume/TestDatanodeHddsVolumeFailureDetection.java index fdea9054ce7a..7d3eaffaeced 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/dn/volume/TestDatanodeHddsVolumeFailureDetection.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/dn/volume/TestDatanodeHddsVolumeFailureDetection.java @@ -17,7 +17,6 @@ package org.apache.hadoop.ozone.dn.volume; -import static java.util.Collections.emptyMap; import static org.apache.commons.io.IOUtils.readFully; import static org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_DATANODE_RATIS_VOLUME_FREE_SPACE_MIN; import static org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_CONTAINER_SIZE; @@ -31,7 +30,6 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.io.OutputStream; import java.nio.file.Path; import java.nio.file.Paths; import java.time.Duration; @@ -282,10 +280,7 @@ private static long createKey(OzoneBucket bucket, String key) byte[] bytes = RandomUtils.nextBytes(KEY_SIZE); RatisReplicationConfig replication = RatisReplicationConfig.getInstance(ReplicationFactor.ONE); - try (OutputStream out = bucket.createKey(key, bytes.length, replication, - emptyMap())) { - out.write(bytes); - } + TestDataUtil.createKey(bucket, key, replication, bytes); OzoneKeyDetails keyDetails = bucket.getKey(key); assertEquals(key, keyDetails.getName()); return keyDetails.getOzoneKeyLocations().get(0).getContainerID(); diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestBucket.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestBucket.java index 57fe728a7322..264d1b5c30e3 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestBucket.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestBucket.java @@ -29,6 +29,7 @@ import java.util.concurrent.ThreadLocalRandom; import org.apache.hadoop.hdds.client.RatisReplicationConfig; import org.apache.hadoop.hdds.client.ReplicationConfig; +import org.apache.hadoop.ozone.TestDataUtil; import org.apache.hadoop.ozone.client.ObjectStore; import org.apache.hadoop.ozone.client.OzoneBucket; import org.apache.hadoop.ozone.client.OzoneClient; @@ -79,9 +80,7 @@ public byte[] writeKey(String key, ReplicationConfig repConfig, int len) public void writeKey(String key, ReplicationConfig repConfig, byte[] inputData) throws IOException { - try (OutputStream out = bucket.createKey(key, 0, repConfig, emptyMap())) { - out.write(inputData); - } + TestDataUtil.createKey(bucket, key, repConfig, inputData); } public byte[] writeRandomBytes(String keyName, int dataLength) diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/recon/TestReconAndAdminContainerCLI.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/recon/TestReconAndAdminContainerCLI.java index 738bdef6f22a..3f7ea803775e 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/recon/TestReconAndAdminContainerCLI.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/recon/TestReconAndAdminContainerCLI.java @@ -18,7 +18,6 @@ package org.apache.hadoop.ozone.recon; import static java.nio.charset.StandardCharsets.UTF_8; -import static java.util.Collections.emptyMap; import static java.util.concurrent.TimeUnit.SECONDS; import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_COMMAND_STATUS_REPORT_INTERVAL; import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_CONTAINER_REPORT_INTERVAL; @@ -38,7 +37,6 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import java.io.IOException; -import java.io.OutputStream; import java.time.Duration; import java.util.ArrayList; import java.util.Arrays; @@ -419,10 +417,7 @@ private static OmKeyInfo createTestKey(String keyName, ReplicationConfig replicationConfig) throws IOException { byte[] textBytes = "Testing".getBytes(UTF_8); - try (OutputStream out = ozoneBucket.createKey(keyName, - textBytes.length, replicationConfig, emptyMap())) { - out.write(textBytes); - } + TestDataUtil.createKey(ozoneBucket, keyName, replicationConfig, textBytes); OmKeyArgs keyArgs = new OmKeyArgs.Builder() .setVolumeName(ozoneBucket.getVolumeName()) From f6505b370cd4f0cb3d738177bece2fb603a59f39 Mon Sep 17 00:00:00 2001 From: Chia-Chuan Yu Date: Thu, 10 Apr 2025 22:07:43 +0800 Subject: [PATCH 02/13] Fixed style --- .../hdds/scm/TestStorageContainerManagerHAWithAllRunning.java | 2 -- .../test/java/org/apache/hadoop/ozone/client/rpc/TestBCSID.java | 2 -- .../src/test/java/org/apache/hadoop/ozone/om/TestBucket.java | 2 -- 3 files changed, 6 deletions(-) diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestStorageContainerManagerHAWithAllRunning.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestStorageContainerManagerHAWithAllRunning.java index 16ac9de38f38..a882de3ff697 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestStorageContainerManagerHAWithAllRunning.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestStorageContainerManagerHAWithAllRunning.java @@ -25,9 +25,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; -import java.io.OutputStream; import java.time.Instant; -import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Set; diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestBCSID.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestBCSID.java index 233ff13e8b62..e5d772b20d0e 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestBCSID.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestBCSID.java @@ -27,7 +27,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import java.io.IOException; -import java.util.HashMap; import java.util.List; import java.util.concurrent.TimeUnit; import org.apache.hadoop.hdds.client.RatisReplicationConfig; @@ -42,7 +41,6 @@ import org.apache.hadoop.ozone.client.ObjectStore; import org.apache.hadoop.ozone.client.OzoneClient; import org.apache.hadoop.ozone.client.OzoneClientFactory; -import org.apache.hadoop.ozone.client.io.OzoneOutputStream; import org.apache.hadoop.ozone.om.helpers.OmKeyArgs; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; import org.apache.hadoop.ozone.om.helpers.OmKeyLocationInfo; diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestBucket.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestBucket.java index 264d1b5c30e3..b042d0be7ec7 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestBucket.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestBucket.java @@ -18,13 +18,11 @@ package org.apache.hadoop.ozone.om; import static java.nio.charset.StandardCharsets.UTF_8; -import static java.util.Collections.emptyMap; import static org.apache.commons.lang3.RandomStringUtils.randomNumeric; import static org.apache.hadoop.hdds.protocol.proto.HddsProtos.ReplicationFactor.THREE; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import java.io.IOException; -import java.io.OutputStream; import java.util.UUID; import java.util.concurrent.ThreadLocalRandom; import org.apache.hadoop.hdds.client.RatisReplicationConfig; From 0d8151b689dee70a19da10ae8562d25dab5d95c8 Mon Sep 17 00:00:00 2001 From: Chia-Chuan Yu Date: Thu, 10 Apr 2025 22:21:26 +0800 Subject: [PATCH 03/13] Fixed spotbugs --- .../hadoop/ozone/client/rpc/TestOzoneAtRestEncryption.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneAtRestEncryption.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneAtRestEncryption.java index 38bf4b8541c8..eda5d100c223 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneAtRestEncryption.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneAtRestEncryption.java @@ -427,9 +427,12 @@ void testKeyWithEncryptionAndGdpr(BucketLayout bucketLayout) String keyName = UUID.randomUUID().toString(); Map keyMetadata = new HashMap<>(); keyMetadata.put(OzoneConsts.GDPR_FLAG, "true"); - TestDataUtil.createKey(bucket, keyName, + try (OzoneOutputStream out = bucket.createKey(keyName, + value.getBytes(StandardCharsets.UTF_8).length, ReplicationConfig.fromTypeAndFactor(RATIS, ONE), - value.getBytes(StandardCharsets.UTF_8)); + keyMetadata)) { + out.write(value.getBytes(StandardCharsets.UTF_8)); + } OzoneKeyDetails key = bucket.getKey(keyName); assertEquals(keyName, key.getName()); From 548961e2f102ca3f381fb410c4d1d8dd173c7f8e Mon Sep 17 00:00:00 2001 From: Chia-Chuan Yu Date: Thu, 10 Apr 2025 23:31:37 +0800 Subject: [PATCH 04/13] Fixed tests --- .../hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java index 8ac967fba648..7da8dd6546ed 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java @@ -1495,6 +1495,7 @@ void testSymlinkList() throws Exception { // add key in source bucket final String key = "object-dir/object-name1"; byte[] bytes = new byte[1]; + random.nextBytes(bytes); TestDataUtil.createKey(objectStore.getVolume(volumeName).getBucket(bucketName), key, bytes); assertEquals(objectStore.getVolume(srcVolume) From 032e8507e978b7e8a8b2527654f6bf4e36e6d208 Mon Sep 17 00:00:00 2001 From: Chia-Chuan Yu Date: Fri, 11 Apr 2025 18:48:20 +0800 Subject: [PATCH 05/13] Fixed tests --- .../AbstractRootedOzoneFileSystemTest.java | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java index 7da8dd6546ed..46d08ad3de44 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java @@ -57,7 +57,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Paths; import java.security.PrivilegedExceptionAction; -import java.security.SecureRandom; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -221,7 +220,6 @@ public Path getBucketPath() { .createUserForTesting(USER1, new String[] {"usergroup"}); // Non-privileged OFS instance private RootedOzoneFileSystem userOfs; - private SecureRandom random; @BeforeAll void initClusterAndEnv() throws IOException, InterruptedException, TimeoutException { @@ -274,7 +272,6 @@ void initClusterAndEnv() throws IOException, InterruptedException, TimeoutExcept userOfs = UGI_USER1.doAs( (PrivilegedExceptionAction)() -> (RootedOzoneFileSystem) FileSystem.get(conf)); - random = new SecureRandom(); } protected OMMetrics getOMMetrics() { @@ -343,10 +340,8 @@ void testListStatusWithIntermediateDirWithECEnabled() String key = "object-dir/object-name1"; // write some test data into bucket - byte[] bytes = new byte[1]; - random.nextBytes(bytes); TestDataUtil.createKey(objectStore.getVolume(volumeName).getBucket(bucketName), key, - new ECReplicationConfig("RS-3-2-1024k"), bytes); + new ECReplicationConfig("RS-3-2-1024k"), RandomUtils.nextBytes(1)); List dirs = Arrays.asList(volumeName, bucketName, "object-dir", "object-name1"); @@ -1494,10 +1489,8 @@ void testSymlinkList() throws Exception { // add key in source bucket final String key = "object-dir/object-name1"; - byte[] bytes = new byte[1]; - random.nextBytes(bytes); TestDataUtil.createKey(objectStore.getVolume(volumeName).getBucket(bucketName), - key, bytes); + key, RandomUtils.nextBytes(1)); assertEquals(objectStore.getVolume(srcVolume) .getBucket(srcBucket).getKey(key).getName(), key); @@ -1544,10 +1537,8 @@ void testSymlinkPosixDelete() throws Exception { // add key to srcBucket final String key = "object-dir/object-name1"; - byte[] bytes = new byte[1]; - random.nextBytes(bytes); TestDataUtil.createKey(objectStore.getVolume(volumeName).getBucket(bucketName), - key, bytes); + key, RandomUtils.nextBytes(1)); assertEquals(objectStore.getVolume(srcVolume) .getBucket(srcBucket).getKey(key).getName(), key); @@ -2228,10 +2219,8 @@ void testCreateAndCheckECFileDiskUsage() throws Exception { Path bucketPathTest = new Path(volPathTest, bucketName); // write some test data into bucket - byte[] bytes = new byte[1]; - random.nextBytes(bytes); TestDataUtil.createKey(objectStore.getVolume(volumeName).getBucket(bucketName), - key, new ECReplicationConfig("RS-3-2-1024k"), bytes); + key, new ECReplicationConfig("RS-3-2-1024k"), RandomUtils.nextBytes(1)); // make sure the disk usage matches the expected value Path filePath = new Path(bucketPathTest, key); ContentSummary contentSummary = ofs.getContentSummary(filePath); From ed0331143d45bc33365fcd16ecac129c74a48f3b Mon Sep 17 00:00:00 2001 From: Chia-Chuan Yu Date: Fri, 11 Apr 2025 20:08:50 +0800 Subject: [PATCH 06/13] Fixed tests --- .../AbstractRootedOzoneFileSystemTest.java | 42 ++++++++++++++----- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java index 46d08ad3de44..2e36ac3ceb71 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java @@ -62,6 +62,7 @@ import java.util.Collection; import java.util.Collections; import java.util.EnumSet; +import java.util.HashMap; import java.util.Iterator; import java.util.LinkedList; import java.util.List; @@ -112,6 +113,7 @@ import org.apache.hadoop.ozone.client.OzoneKeyDetails; import org.apache.hadoop.ozone.client.OzoneVolume; import org.apache.hadoop.ozone.client.VolumeArgs; +import org.apache.hadoop.ozone.client.io.OzoneOutputStream; import org.apache.hadoop.ozone.client.protocol.ClientProtocol; import org.apache.hadoop.ozone.om.OMConfigKeys; import org.apache.hadoop.ozone.om.OMMetrics; @@ -340,8 +342,12 @@ void testListStatusWithIntermediateDirWithECEnabled() String key = "object-dir/object-name1"; // write some test data into bucket - TestDataUtil.createKey(objectStore.getVolume(volumeName).getBucket(bucketName), key, - new ECReplicationConfig("RS-3-2-1024k"), RandomUtils.nextBytes(1)); + try (OzoneOutputStream outputStream = objectStore.getVolume(volumeName). + getBucket(bucketName).createKey(key, 1, + new ECReplicationConfig("RS-3-2-1024k"), + new HashMap<>())) { + outputStream.write(RandomUtils.nextBytes(1)); + } List dirs = Arrays.asList(volumeName, bucketName, "object-dir", "object-name1"); @@ -1489,8 +1495,11 @@ void testSymlinkList() throws Exception { // add key in source bucket final String key = "object-dir/object-name1"; - TestDataUtil.createKey(objectStore.getVolume(volumeName).getBucket(bucketName), - key, RandomUtils.nextBytes(1)); + try (OzoneOutputStream outputStream = objectStore.getVolume(srcVolume) + .getBucket(srcBucket) + .createKey(key, 1)) { + outputStream.write(RandomUtils.nextBytes(1)); + } assertEquals(objectStore.getVolume(srcVolume) .getBucket(srcBucket).getKey(key).getName(), key); @@ -1537,8 +1546,11 @@ void testSymlinkPosixDelete() throws Exception { // add key to srcBucket final String key = "object-dir/object-name1"; - TestDataUtil.createKey(objectStore.getVolume(volumeName).getBucket(bucketName), - key, RandomUtils.nextBytes(1)); + try (OzoneOutputStream outputStream = objectStore.getVolume(srcVolume) + .getBucket(srcBucket) + .createKey(key, 1)) { + outputStream.write(RandomUtils.nextBytes(1)); + } assertEquals(objectStore.getVolume(srcVolume) .getBucket(srcBucket).getKey(key).getName(), key); @@ -2219,8 +2231,12 @@ void testCreateAndCheckECFileDiskUsage() throws Exception { Path bucketPathTest = new Path(volPathTest, bucketName); // write some test data into bucket - TestDataUtil.createKey(objectStore.getVolume(volumeName).getBucket(bucketName), - key, new ECReplicationConfig("RS-3-2-1024k"), RandomUtils.nextBytes(1)); + try (OzoneOutputStream outputStream = objectStore.getVolume(volumeName). + getBucket(bucketName).createKey(key, 1, + new ECReplicationConfig("RS-3-2-1024k"), + new HashMap<>())) { + outputStream.write(RandomUtils.nextBytes(1)); + } // make sure the disk usage matches the expected value Path filePath = new Path(bucketPathTest, key); ContentSummary contentSummary = ofs.getContentSummary(filePath); @@ -2242,9 +2258,13 @@ void testCreateAndCheckRatisFileDiskUsage() throws Exception { Path filePathTest = new Path(bucketPathTest, key); // write some test data into bucket - byte[] bytes = new byte[1]; - TestDataUtil.createKey(objectStore.getVolume(volumeName).getBucket(bucketName), - key, RatisReplicationConfig.getInstance(HddsProtos.ReplicationFactor.THREE), bytes); + try (OzoneOutputStream outputStream = objectStore.getVolume(volumeName). + getBucket(bucketName).createKey(key, 1, + RatisReplicationConfig.getInstance( + HddsProtos.ReplicationFactor.THREE), + new HashMap<>())) { + outputStream.write(RandomUtils.nextBytes(1)); + } // make sure the disk usage matches the expected value ContentSummary contentSummary = ofs.getContentSummary(filePathTest); long length = contentSummary.getLength(); From 8fb28948733fa74eb78c49dc1236d45b65f01cee Mon Sep 17 00:00:00 2001 From: Chia-Chuan Yu Date: Sat, 12 Apr 2025 15:49:16 +0800 Subject: [PATCH 07/13] Fixed tests --- .../AbstractRootedOzoneFileSystemTest.java | 57 ++++++++----------- 1 file changed, 24 insertions(+), 33 deletions(-) diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java index 2e36ac3ceb71..bb1cc5f7f9a3 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java @@ -57,12 +57,12 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Paths; import java.security.PrivilegedExceptionAction; +import java.security.SecureRandom; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.EnumSet; -import java.util.HashMap; import java.util.Iterator; import java.util.LinkedList; import java.util.List; @@ -113,7 +113,6 @@ import org.apache.hadoop.ozone.client.OzoneKeyDetails; import org.apache.hadoop.ozone.client.OzoneVolume; import org.apache.hadoop.ozone.client.VolumeArgs; -import org.apache.hadoop.ozone.client.io.OzoneOutputStream; import org.apache.hadoop.ozone.client.protocol.ClientProtocol; import org.apache.hadoop.ozone.om.OMConfigKeys; import org.apache.hadoop.ozone.om.OMMetrics; @@ -216,6 +215,8 @@ public Path getBucketPath() { private Path bucketPath; private String rootPath; private final BucketLayout bucketLayout; + private SecureRandom random; + private OzoneBucket bucket; private static final String USER1 = "regularuser1"; private static final UserGroupInformation UGI_USER1 = UserGroupInformation @@ -274,6 +275,8 @@ void initClusterAndEnv() throws IOException, InterruptedException, TimeoutExcept userOfs = UGI_USER1.doAs( (PrivilegedExceptionAction)() -> (RootedOzoneFileSystem) FileSystem.get(conf)); + random = new SecureRandom(); + bucket = objectStore.getVolume(volumeName).getBucket(bucketName); } protected OMMetrics getOMMetrics() { @@ -342,12 +345,10 @@ void testListStatusWithIntermediateDirWithECEnabled() String key = "object-dir/object-name1"; // write some test data into bucket - try (OzoneOutputStream outputStream = objectStore.getVolume(volumeName). - getBucket(bucketName).createKey(key, 1, - new ECReplicationConfig("RS-3-2-1024k"), - new HashMap<>())) { - outputStream.write(RandomUtils.nextBytes(1)); - } + byte[] bytes = new byte[1]; + random.nextBytes(bytes); + TestDataUtil.createKey(bucket, key, + new ECReplicationConfig("RS-3-2-1024k"), bytes); List dirs = Arrays.asList(volumeName, bucketName, "object-dir", "object-name1"); @@ -1495,11 +1496,9 @@ void testSymlinkList() throws Exception { // add key in source bucket final String key = "object-dir/object-name1"; - try (OzoneOutputStream outputStream = objectStore.getVolume(srcVolume) - .getBucket(srcBucket) - .createKey(key, 1)) { - outputStream.write(RandomUtils.nextBytes(1)); - } + byte[] bytes = new byte[1]; + random.nextBytes(bytes); + TestDataUtil.createKey(bucket, key, bytes); assertEquals(objectStore.getVolume(srcVolume) .getBucket(srcBucket).getKey(key).getName(), key); @@ -1546,13 +1545,10 @@ void testSymlinkPosixDelete() throws Exception { // add key to srcBucket final String key = "object-dir/object-name1"; - try (OzoneOutputStream outputStream = objectStore.getVolume(srcVolume) - .getBucket(srcBucket) - .createKey(key, 1)) { - outputStream.write(RandomUtils.nextBytes(1)); - } - assertEquals(objectStore.getVolume(srcVolume) - .getBucket(srcBucket).getKey(key).getName(), key); + byte[] bytes = new byte[1]; + random.nextBytes(bytes); + TestDataUtil.createKey(bucket, key, bytes); + assertEquals(key, bucket.getKey(key).getName()); // test symlink -rm destVol/destBucket -> srcVol/srcBucket // should delete only link, srcBucket and key unaltered @@ -2231,12 +2227,10 @@ void testCreateAndCheckECFileDiskUsage() throws Exception { Path bucketPathTest = new Path(volPathTest, bucketName); // write some test data into bucket - try (OzoneOutputStream outputStream = objectStore.getVolume(volumeName). - getBucket(bucketName).createKey(key, 1, - new ECReplicationConfig("RS-3-2-1024k"), - new HashMap<>())) { - outputStream.write(RandomUtils.nextBytes(1)); - } + byte[] bytes = new byte[1]; + random.nextBytes(bytes); + TestDataUtil.createKey(bucket, key, + new ECReplicationConfig("RS-3-2-1024k"), bytes); // make sure the disk usage matches the expected value Path filePath = new Path(bucketPathTest, key); ContentSummary contentSummary = ofs.getContentSummary(filePath); @@ -2258,13 +2252,10 @@ void testCreateAndCheckRatisFileDiskUsage() throws Exception { Path filePathTest = new Path(bucketPathTest, key); // write some test data into bucket - try (OzoneOutputStream outputStream = objectStore.getVolume(volumeName). - getBucket(bucketName).createKey(key, 1, - RatisReplicationConfig.getInstance( - HddsProtos.ReplicationFactor.THREE), - new HashMap<>())) { - outputStream.write(RandomUtils.nextBytes(1)); - } + byte[] bytes = new byte[1]; + random.nextBytes(bytes); + TestDataUtil.createKey(bucket, key, RatisReplicationConfig.getInstance( + HddsProtos.ReplicationFactor.THREE),bytes); // make sure the disk usage matches the expected value ContentSummary contentSummary = ofs.getContentSummary(filePathTest); long length = contentSummary.getLength(); From 0ace6a278a850b78ebc7a9cd89085707db745792 Mon Sep 17 00:00:00 2001 From: Chia-Chuan Yu Date: Sat, 12 Apr 2025 16:05:55 +0800 Subject: [PATCH 08/13] Fixed tests --- .../AbstractRootedOzoneFileSystemTest.java | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java index bb1cc5f7f9a3..cb2f39d03f77 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java @@ -216,7 +216,6 @@ public Path getBucketPath() { private String rootPath; private final BucketLayout bucketLayout; private SecureRandom random; - private OzoneBucket bucket; private static final String USER1 = "regularuser1"; private static final UserGroupInformation UGI_USER1 = UserGroupInformation @@ -276,7 +275,6 @@ void initClusterAndEnv() throws IOException, InterruptedException, TimeoutExcept (PrivilegedExceptionAction)() -> (RootedOzoneFileSystem) FileSystem.get(conf)); random = new SecureRandom(); - bucket = objectStore.getVolume(volumeName).getBucket(bucketName); } protected OMMetrics getOMMetrics() { @@ -347,7 +345,7 @@ void testListStatusWithIntermediateDirWithECEnabled() // write some test data into bucket byte[] bytes = new byte[1]; random.nextBytes(bytes); - TestDataUtil.createKey(bucket, key, + TestDataUtil.createKey(objectStore.getVolume(volumeName).getBucket(bucketName), key, new ECReplicationConfig("RS-3-2-1024k"), bytes); List dirs = Arrays.asList(volumeName, bucketName, "object-dir", @@ -1498,9 +1496,10 @@ void testSymlinkList() throws Exception { final String key = "object-dir/object-name1"; byte[] bytes = new byte[1]; random.nextBytes(bytes); - TestDataUtil.createKey(bucket, key, bytes); - assertEquals(objectStore.getVolume(srcVolume) - .getBucket(srcBucket).getKey(key).getName(), key); + TestDataUtil.createKey(objectStore.getVolume(volumeName). + getBucket(bucketName), key, bytes); + assertEquals(key, objectStore.getVolume(srcVolume) + .getBucket(srcBucket).getKey(key).getName()); // test ls -R /destVol/destBucket, srcBucket with key (non-empty) try (GenericTestUtils.SystemOutCapturer capture = @@ -1547,8 +1546,10 @@ void testSymlinkPosixDelete() throws Exception { final String key = "object-dir/object-name1"; byte[] bytes = new byte[1]; random.nextBytes(bytes); - TestDataUtil.createKey(bucket, key, bytes); - assertEquals(key, bucket.getKey(key).getName()); + TestDataUtil.createKey(objectStore.getVolume(volumeName). + getBucket(bucketName), key, bytes); + assertEquals(key, objectStore.getVolume(volumeName). + getBucket(bucketName).getKey(key).getName()); // test symlink -rm destVol/destBucket -> srcVol/srcBucket // should delete only link, srcBucket and key unaltered @@ -2229,7 +2230,8 @@ void testCreateAndCheckECFileDiskUsage() throws Exception { // write some test data into bucket byte[] bytes = new byte[1]; random.nextBytes(bytes); - TestDataUtil.createKey(bucket, key, + TestDataUtil.createKey(objectStore.getVolume(volumeName). + getBucket(bucketName), key, new ECReplicationConfig("RS-3-2-1024k"), bytes); // make sure the disk usage matches the expected value Path filePath = new Path(bucketPathTest, key); @@ -2254,7 +2256,9 @@ void testCreateAndCheckRatisFileDiskUsage() throws Exception { // write some test data into bucket byte[] bytes = new byte[1]; random.nextBytes(bytes); - TestDataUtil.createKey(bucket, key, RatisReplicationConfig.getInstance( + TestDataUtil.createKey(objectStore. + getVolume(volumeName).getBucket(bucketName), key, + RatisReplicationConfig.getInstance( HddsProtos.ReplicationFactor.THREE),bytes); // make sure the disk usage matches the expected value ContentSummary contentSummary = ofs.getContentSummary(filePathTest); From bc6bdca665f0819d817277912b06f2f53414f850 Mon Sep 17 00:00:00 2001 From: Chia-Chuan Yu Date: Sat, 12 Apr 2025 16:08:12 +0800 Subject: [PATCH 09/13] Fixed styles --- .../hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java index cb2f39d03f77..f004614a325c 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java @@ -2259,7 +2259,7 @@ void testCreateAndCheckRatisFileDiskUsage() throws Exception { TestDataUtil.createKey(objectStore. getVolume(volumeName).getBucket(bucketName), key, RatisReplicationConfig.getInstance( - HddsProtos.ReplicationFactor.THREE),bytes); + HddsProtos.ReplicationFactor.THREE), bytes); // make sure the disk usage matches the expected value ContentSummary contentSummary = ofs.getContentSummary(filePathTest); long length = contentSummary.getLength(); From 63bc83caef0345911772632b2dfdda8e056d3585 Mon Sep 17 00:00:00 2001 From: Chia-Chuan Yu Date: Sat, 12 Apr 2025 17:08:23 +0800 Subject: [PATCH 10/13] Fixed tests --- .../fs/ozone/AbstractRootedOzoneFileSystemTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java index f004614a325c..b414e13e3752 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java @@ -1496,8 +1496,8 @@ void testSymlinkList() throws Exception { final String key = "object-dir/object-name1"; byte[] bytes = new byte[1]; random.nextBytes(bytes); - TestDataUtil.createKey(objectStore.getVolume(volumeName). - getBucket(bucketName), key, bytes); + TestDataUtil.createKey(objectStore.getVolume(srcVolume). + getBucket(srcBucket), key, bytes); assertEquals(key, objectStore.getVolume(srcVolume) .getBucket(srcBucket).getKey(key).getName()); @@ -1546,8 +1546,8 @@ void testSymlinkPosixDelete() throws Exception { final String key = "object-dir/object-name1"; byte[] bytes = new byte[1]; random.nextBytes(bytes); - TestDataUtil.createKey(objectStore.getVolume(volumeName). - getBucket(bucketName), key, bytes); + TestDataUtil.createKey(objectStore.getVolume(srcVolume). + getBucket(srcBucket), key, bytes); assertEquals(key, objectStore.getVolume(volumeName). getBucket(bucketName).getKey(key).getName()); From b45db54c96c0140cc8126e12bb2c3ca3c1c17c8a Mon Sep 17 00:00:00 2001 From: Chia-Chuan Yu Date: Sat, 12 Apr 2025 17:49:10 +0800 Subject: [PATCH 11/13] Fixed tests --- .../hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java index b414e13e3752..7a9dfd9751d6 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java @@ -1548,8 +1548,8 @@ void testSymlinkPosixDelete() throws Exception { random.nextBytes(bytes); TestDataUtil.createKey(objectStore.getVolume(srcVolume). getBucket(srcBucket), key, bytes); - assertEquals(key, objectStore.getVolume(volumeName). - getBucket(bucketName).getKey(key).getName()); + assertEquals(key, objectStore.getVolume(srcVolume). + getBucket(srcBucket).getKey(key).getName()); // test symlink -rm destVol/destBucket -> srcVol/srcBucket // should delete only link, srcBucket and key unaltered From d183df3fa874e7681d5fc5a29d03d4f55a2fe53c Mon Sep 17 00:00:00 2001 From: Chia-Chuan Yu Date: Tue, 15 Apr 2025 21:32:57 +0800 Subject: [PATCH 12/13] Applied comments --- .../AbstractRootedOzoneFileSystemTest.java | 31 +++++++------------ .../container/TestContainerReplication.java | 3 +- 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java index 7a9dfd9751d6..5691e78cad15 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java @@ -343,10 +343,9 @@ void testListStatusWithIntermediateDirWithECEnabled() String key = "object-dir/object-name1"; // write some test data into bucket - byte[] bytes = new byte[1]; - random.nextBytes(bytes); - TestDataUtil.createKey(objectStore.getVolume(volumeName).getBucket(bucketName), key, - new ECReplicationConfig("RS-3-2-1024k"), bytes); + TestDataUtil.createKey(objectStore.getVolume(volumeName).getBucket(bucketName), + key, new ECReplicationConfig("RS-3-2-1024k"), + RandomUtils.secure().randomBytes(1)); List dirs = Arrays.asList(volumeName, bucketName, "object-dir", "object-name1"); @@ -1494,10 +1493,8 @@ void testSymlinkList() throws Exception { // add key in source bucket final String key = "object-dir/object-name1"; - byte[] bytes = new byte[1]; - random.nextBytes(bytes); - TestDataUtil.createKey(objectStore.getVolume(srcVolume). - getBucket(srcBucket), key, bytes); + TestDataUtil.createKey(objectStore.getVolume(srcVolume).getBucket(srcBucket), + key, RandomUtils.secure().randomBytes(1)); assertEquals(key, objectStore.getVolume(srcVolume) .getBucket(srcBucket).getKey(key).getName()); @@ -1544,10 +1541,8 @@ void testSymlinkPosixDelete() throws Exception { // add key to srcBucket final String key = "object-dir/object-name1"; - byte[] bytes = new byte[1]; - random.nextBytes(bytes); - TestDataUtil.createKey(objectStore.getVolume(srcVolume). - getBucket(srcBucket), key, bytes); + TestDataUtil.createKey(objectStore.getVolume(srcVolume).getBucket(srcBucket), + key, RandomUtils.secure().randomBytes(1)); assertEquals(key, objectStore.getVolume(srcVolume). getBucket(srcBucket).getKey(key).getName()); @@ -2228,11 +2223,9 @@ void testCreateAndCheckECFileDiskUsage() throws Exception { Path bucketPathTest = new Path(volPathTest, bucketName); // write some test data into bucket - byte[] bytes = new byte[1]; - random.nextBytes(bytes); TestDataUtil.createKey(objectStore.getVolume(volumeName). - getBucket(bucketName), key, - new ECReplicationConfig("RS-3-2-1024k"), bytes); + getBucket(bucketName), key, new ECReplicationConfig("RS-3-2-1024k"), + RandomUtils.secure().randomBytes(1)); // make sure the disk usage matches the expected value Path filePath = new Path(bucketPathTest, key); ContentSummary contentSummary = ofs.getContentSummary(filePath); @@ -2254,12 +2247,10 @@ void testCreateAndCheckRatisFileDiskUsage() throws Exception { Path filePathTest = new Path(bucketPathTest, key); // write some test data into bucket - byte[] bytes = new byte[1]; - random.nextBytes(bytes); TestDataUtil.createKey(objectStore. getVolume(volumeName).getBucket(bucketName), key, - RatisReplicationConfig.getInstance( - HddsProtos.ReplicationFactor.THREE), bytes); + RatisReplicationConfig.getInstance(HddsProtos.ReplicationFactor.THREE), + RandomUtils.secure().randomBytes(1)); // make sure the disk usage matches the expected value ContentSummary contentSummary = ofs.getContentSummary(filePathTest); long length = contentSummary.getLength(); diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/TestContainerReplication.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/TestContainerReplication.java index 6fd43b03f3a0..635993cc8732 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/TestContainerReplication.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/TestContainerReplication.java @@ -192,7 +192,8 @@ private void createTestData(OzoneClient client) throws IOException { OzoneBucket bucket = volume.getBucket(BUCKET); TestDataUtil.createKey(bucket, KEY, - RatisReplicationConfig.getInstance(THREE), "Hello".getBytes(UTF_8)); + RatisReplicationConfig.getInstance(THREE), + "Hello".getBytes(UTF_8)); } private byte[] createTestData(OzoneClient client, int size) throws IOException { From ef9390839301f83187913f3ed77cbf6f0ef7c7a4 Mon Sep 17 00:00:00 2001 From: Chia-Chuan Yu Date: Wed, 16 Apr 2025 17:58:04 +0800 Subject: [PATCH 13/13] Removed secureRandom --- .../hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java index 5691e78cad15..f8b9c26d9117 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java @@ -57,7 +57,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Paths; import java.security.PrivilegedExceptionAction; -import java.security.SecureRandom; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -215,7 +214,6 @@ public Path getBucketPath() { private Path bucketPath; private String rootPath; private final BucketLayout bucketLayout; - private SecureRandom random; private static final String USER1 = "regularuser1"; private static final UserGroupInformation UGI_USER1 = UserGroupInformation @@ -274,7 +272,6 @@ void initClusterAndEnv() throws IOException, InterruptedException, TimeoutExcept userOfs = UGI_USER1.doAs( (PrivilegedExceptionAction)() -> (RootedOzoneFileSystem) FileSystem.get(conf)); - random = new SecureRandom(); } protected OMMetrics getOMMetrics() {