Skip to content

Commit 39340a6

Browse files
committed
HDDS-12477. Do not force RATIS/ONE replication in TestDataUtil#createKey
1 parent b769a26 commit 39340a6

File tree

6 files changed

+33
-70
lines changed

6 files changed

+33
-70
lines changed

hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestCloseContainer.java

+2-7
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,6 @@
3535
import java.time.Duration;
3636
import java.util.Set;
3737
import java.util.concurrent.TimeUnit;
38-
import org.apache.hadoop.hdds.client.ReplicationConfig;
39-
import org.apache.hadoop.hdds.client.ReplicationFactor;
40-
import org.apache.hadoop.hdds.client.ReplicationType;
4138
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
4239
import org.apache.hadoop.hdds.scm.container.ContainerInfo;
4340
import org.apache.hadoop.hdds.scm.container.ContainerReplica;
@@ -109,8 +106,7 @@ public void testReplicasAreReportedForClosedContainerAfterRestart()
109106
throws Exception {
110107
// Create some keys to write data into the open containers
111108
for (int i = 0; i < 10; i++) {
112-
TestDataUtil.createKey(bucket, "key" + i, ReplicationConfig
113-
.fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE),
109+
TestDataUtil.createKey(bucket, "key" + i, null,
114110
"this is the content".getBytes(StandardCharsets.UTF_8));
115111
}
116112
StorageContainerManager scm = cluster.getStorageContainerManager();
@@ -155,8 +151,7 @@ public void testCloseClosedContainer()
155151
throws Exception {
156152
// Create some keys to write data into the open containers
157153
for (int i = 0; i < 10; i++) {
158-
TestDataUtil.createKey(bucket, "key" + i, ReplicationConfig
159-
.fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE),
154+
TestDataUtil.createKey(bucket, "key" + i, null,
160155
"this is the content".getBytes(StandardCharsets.UTF_8));
161156
}
162157
StorageContainerManager scm = cluster.getStorageContainerManager();

hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestDataUtil.java

+11-8
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@
3232
import java.util.Scanner;
3333
import org.apache.commons.lang3.RandomStringUtils;
3434
import org.apache.hadoop.hdds.client.ReplicationConfig;
35-
import org.apache.hadoop.hdds.client.ReplicationFactor;
36-
import org.apache.hadoop.hdds.client.ReplicationType;
3735
import org.apache.hadoop.hdds.protocol.StorageType;
3836
import org.apache.hadoop.hdds.utils.db.Table;
3937
import org.apache.hadoop.hdds.utils.db.TableIterator;
@@ -106,18 +104,23 @@ public static OzoneVolume createVolume(OzoneClient client,
106104

107105
public static void createKey(OzoneBucket bucket, String keyName,
108106
byte[] content) throws IOException {
109-
ReplicationConfig replicationConfig = ReplicationConfig.
110-
fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.ONE);
111-
createKey(bucket, keyName, replicationConfig, content);
107+
createKey(bucket, keyName, null, content);
112108

113109
}
114110

111+
public static OutputStream createOutputStream(OzoneBucket bucket, String keyName,
112+
ReplicationConfig repConfig, byte[] content)
113+
throws IOException {
114+
return repConfig == null
115+
? bucket.createKey(keyName, content.length)
116+
: bucket.createKey(keyName, content.length, repConfig, new HashMap<>());
117+
}
118+
115119
public static void createKey(OzoneBucket bucket, String keyName,
116120
ReplicationConfig repConfig, byte[] content)
117121
throws IOException {
118-
try (OutputStream stream = bucket
119-
.createKey(keyName, content.length, repConfig,
120-
new HashMap<>())) {
122+
try (OutputStream stream = createOutputStream(bucket, keyName,
123+
repConfig, content)) {
121124
stream.write(content);
122125
}
123126
}

hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestListKeys.java

+1-4
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@
3434
import java.util.Optional;
3535
import java.util.stream.Stream;
3636
import org.apache.hadoop.hdds.client.ReplicationConfig;
37-
import org.apache.hadoop.hdds.client.ReplicationFactor;
38-
import org.apache.hadoop.hdds.client.ReplicationType;
3937
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
4038
import org.apache.hadoop.hdds.utils.IOUtils;
4139
import org.apache.hadoop.ozone.TestDataUtil;
@@ -377,8 +375,7 @@ private static void createAndAssertKeys(OzoneBucket ozoneBucket, List<String> ke
377375
byte[] input = new byte[length];
378376
Arrays.fill(input, (byte) 96);
379377
for (String key : keys) {
380-
createKey(ozoneBucket, key,
381-
ReplicationConfig.fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE), input);
378+
createKey(ozoneBucket, key, null, input);
382379
// Read the key with given key name.
383380
readkey(ozoneBucket, key, length, input);
384381
}

hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestListKeysWithFSO.java

+1-4
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@
3131
import java.util.Optional;
3232
import org.apache.commons.lang3.RandomStringUtils;
3333
import org.apache.hadoop.hdds.client.ReplicationConfig;
34-
import org.apache.hadoop.hdds.client.ReplicationFactor;
35-
import org.apache.hadoop.hdds.client.ReplicationType;
3634
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
3735
import org.apache.hadoop.hdds.protocol.StorageType;
3836
import org.apache.hadoop.hdds.utils.IOUtils;
@@ -649,8 +647,7 @@ private static void createAndAssertKeys(OzoneBucket ozoneBucket, List<String> ke
649647
byte[] input = new byte[length];
650648
Arrays.fill(input, (byte) 96);
651649
for (String key : keys) {
652-
createKey(ozoneBucket, key, ReplicationConfig
653-
.fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE), input);
650+
createKey(ozoneBucket, key, null, input);
654651
// Read the key with given key name.
655652
readkey(ozoneBucket, key, length, input);
656653
}

hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/snapshot/TestSnapshotDeletingServiceIntegrationTest.java

+17-42
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,6 @@
4949
import java.util.concurrent.atomic.AtomicLong;
5050
import java.util.stream.Collectors;
5151
import org.apache.commons.compress.utils.Lists;
52-
import org.apache.hadoop.hdds.client.ReplicationConfig;
53-
import org.apache.hadoop.hdds.client.ReplicationFactor;
54-
import org.apache.hadoop.hdds.client.ReplicationType;
5552
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
5653
import org.apache.hadoop.hdds.conf.StorageUnit;
5754
import org.apache.hadoop.hdds.utils.IOUtils;
@@ -202,10 +199,8 @@ public void testMultipleSnapshotKeyReclaim() throws Exception {
202199
OzoneBucket bucket2 = TestDataUtil.createBucket(
203200
client, VOLUME_NAME, bucketArgs, BUCKET_NAME_TWO);
204201
// Create key1 and key2
205-
TestDataUtil.createKey(bucket2, "bucket2key1", ReplicationConfig.
206-
fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE), CONTENT.array());
207-
TestDataUtil.createKey(bucket2, "bucket2key2", ReplicationConfig.
208-
fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE), CONTENT.array());
202+
TestDataUtil.createKey(bucket2, "bucket2key1", null, CONTENT.array());
203+
TestDataUtil.createKey(bucket2, "bucket2key2", null, CONTENT.array());
209204

210205
// Create Snapshot
211206
client.getObjectStore().createSnapshot(VOLUME_NAME, BUCKET_NAME_TWO,
@@ -265,16 +260,12 @@ public void testSnapshotWithFSO() throws Exception {
265260

266261
// Create 10 keys
267262
for (int i = 1; i <= 10; i++) {
268-
TestDataUtil.createKey(bucket2, "key" + i, ReplicationConfig.
269-
fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE),
270-
CONTENT.array());
263+
TestDataUtil.createKey(bucket2, "key" + i, null, CONTENT.array());
271264
}
272265

273266
// Create 5 keys to overwrite
274267
for (int i = 11; i <= 15; i++) {
275-
TestDataUtil.createKey(bucket2, "key" + i, ReplicationConfig.
276-
fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE),
277-
CONTENT.array());
268+
TestDataUtil.createKey(bucket2, "key" + i, null, CONTENT.array());
278269
}
279270

280271
// Create Directory and Sub
@@ -287,8 +278,7 @@ public void testSnapshotWithFSO() throws Exception {
287278
String childDir = "/childDir" + j;
288279
client.getProxy().createDirectory(VOLUME_NAME,
289280
BUCKET_NAME_FSO, parent + childDir);
290-
TestDataUtil.createKey(bucket2, parent + childFile, ReplicationConfig.
291-
fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE), CONTENT.array());
281+
TestDataUtil.createKey(bucket2, parent + childFile, null, CONTENT.array());
292282
}
293283
}
294284

@@ -304,8 +294,7 @@ public void testSnapshotWithFSO() throws Exception {
304294

305295
// Overwrite 3 keys -> Moves previous version to deletedTable
306296
for (int i = 11; i <= 13; i++) {
307-
TestDataUtil.createKey(bucket2, "key" + i, ReplicationConfig.
308-
fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE), CONTENT.array());
297+
TestDataUtil.createKey(bucket2, "key" + i, null, CONTENT.array());
309298
}
310299
assertTableRowCount(keyTable, 24);
311300

@@ -369,9 +358,7 @@ public void testSnapshotWithFSO() throws Exception {
369358

370359
// Overwrite 2 keys
371360
for (int i = 14; i <= 15; i++) {
372-
TestDataUtil.createKey(bucket2, "key" + i, ReplicationConfig.
373-
fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE),
374-
CONTENT.array());
361+
TestDataUtil.createKey(bucket2, "key" + i, null, CONTENT.array());
375362
}
376363

377364
// Delete 2 more keys
@@ -727,12 +714,8 @@ private synchronized void createSnapshotDataForBucket(OzoneBucket bucket) throws
727714
OmMetadataManagerImpl metadataManager = (OmMetadataManagerImpl)
728715
om.getMetadataManager();
729716

730-
TestDataUtil.createKey(bucket, bucket.getName() + "key0", ReplicationConfig.
731-
fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE),
732-
CONTENT.array());
733-
TestDataUtil.createKey(bucket, bucket.getName() + "key1", ReplicationConfig.
734-
fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE),
735-
CONTENT.array());
717+
TestDataUtil.createKey(bucket, bucket.getName() + "key0", null, CONTENT.array());
718+
TestDataUtil.createKey(bucket, bucket.getName() + "key1", null, CONTENT.array());
736719
assertTableRowCount(keyTable, 2);
737720

738721
// Create Snapshot 1.
@@ -742,10 +725,8 @@ private synchronized void createSnapshotDataForBucket(OzoneBucket bucket) throws
742725

743726
// Overwrite bucket1key0, This is a newer version of the key which should
744727
// reclaimed as this is a different version of the key.
745-
TestDataUtil.createKey(bucket, bucket.getName() + "key0", ReplicationConfig.
746-
fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE), CONTENT.array());
747-
TestDataUtil.createKey(bucket, bucket.getName() + "key2", ReplicationConfig.
748-
fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE), CONTENT.array());
728+
TestDataUtil.createKey(bucket, bucket.getName() + "key0", null, CONTENT.array());
729+
TestDataUtil.createKey(bucket, bucket.getName() + "key2", null, CONTENT.array());
749730

750731
// Key 1 cannot be reclaimed as it is still referenced by Snapshot 1.
751732
client.getProxy().deleteKey(bucket.getVolumeName(), bucket.getName(),
@@ -769,10 +750,8 @@ private synchronized void createSnapshotDataForBucket(OzoneBucket bucket) throws
769750
// deletedTable when Snapshot 2 is taken.
770751
assertTableRowCount(deletedTable, 0);
771752

772-
TestDataUtil.createKey(bucket, bucket.getName() + "key3", ReplicationConfig.
773-
fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE), CONTENT.array());
774-
TestDataUtil.createKey(bucket, bucket.getName() + "key4", ReplicationConfig.
775-
fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE), CONTENT.array());
753+
TestDataUtil.createKey(bucket, bucket.getName() + "key3", null, CONTENT.array());
754+
TestDataUtil.createKey(bucket, bucket.getName() + "key4", null, CONTENT.array());
776755
client.getProxy().deleteKey(bucket.getVolumeName(), bucket.getName(),
777756
bucket.getName() + "key4", false);
778757
assertTableRowCount(keyTable, 1);
@@ -832,19 +811,15 @@ private synchronized void createSnapshotFSODataForBucket(OzoneBucket bucket) thr
832811
throw new RuntimeException(ex);
833812
}
834813
}));
835-
TestDataUtil.createKey(bucket, "dir0/" + bucket.getName() + "key0", ReplicationConfig.
836-
fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE), CONTENT.array());
837-
TestDataUtil.createKey(bucket, "dir1/" + bucket.getName() + "key1", ReplicationConfig.
838-
fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE), CONTENT.array());
814+
TestDataUtil.createKey(bucket, "dir0/" + bucket.getName() + "key0", null, CONTENT.array());
815+
TestDataUtil.createKey(bucket, "dir1/" + bucket.getName() + "key1", null, CONTENT.array());
839816
assertTableRowCount(keyTable, countMap.get(keyTable.getName()) + 2);
840817
assertTableRowCount(dirTable, countMap.get(dirTable.getName()) + 2);
841818

842819
// Overwrite bucket1key0, This is a newer version of the key which should
843820
// reclaimed as this is a different version of the key.
844-
TestDataUtil.createKey(bucket, "dir0/" + bucket.getName() + "key0", ReplicationConfig.
845-
fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE), CONTENT.array());
846-
TestDataUtil.createKey(bucket, "dir2/" + bucket.getName() + "key2", ReplicationConfig.
847-
fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE), CONTENT.array());
821+
TestDataUtil.createKey(bucket, "dir0/" + bucket.getName() + "key0", null, CONTENT.array());
822+
TestDataUtil.createKey(bucket, "dir2/" + bucket.getName() + "key2", null, CONTENT.array());
848823
assertTableRowCount(keyTable, countMap.get(keyTable.getName()) + 3);
849824
assertTableRowCount(dirTable, countMap.get(dirTable.getName()) + 3);
850825
assertTableRowCount(deletedTable, countMap.get(deletedTable.getName()) + 1);

hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/shell/TestOzoneContainerUpgradeShell.java

+1-5
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,6 @@
4242
import java.util.concurrent.TimeUnit;
4343
import java.util.concurrent.TimeoutException;
4444
import java.util.stream.Collectors;
45-
import org.apache.hadoop.hdds.client.ReplicationConfig;
46-
import org.apache.hadoop.hdds.client.ReplicationFactor;
47-
import org.apache.hadoop.hdds.client.ReplicationType;
4845
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
4946
import org.apache.hadoop.hdds.protocol.DatanodeDetails;
5047
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
@@ -183,8 +180,7 @@ private static void writeKey(String keyName) throws IOException {
183180
TestDataUtil.createVolumeAndBucket(client, VOLUME_NAME, BUCKET_NAME);
184181
TestDataUtil.createKey(
185182
client.getObjectStore().getVolume(VOLUME_NAME).getBucket(BUCKET_NAME),
186-
keyName, ReplicationConfig.fromTypeAndFactor(ReplicationType.RATIS, ReplicationFactor.THREE),
187-
"test".getBytes(StandardCharsets.UTF_8));
183+
keyName, null, "test".getBytes(StandardCharsets.UTF_8));
188184
}
189185
}
190186

0 commit comments

Comments
 (0)