This is an automated email from the ASF dual-hosted git repository.
szetszwo 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 7c3080eac1 HDDS-8733. Combine ContainerKeyPrefix and
KeyPrefixContainer. (#4806)
7c3080eac1 is described below
commit 7c3080eac15c9db69991eccc3994804f12a5e363
Author: Tsz-Wo Nicholas Sze <[email protected]>
AuthorDate: Thu Jun 1 10:56:15 2023 +0800
HDDS-8733. Combine ContainerKeyPrefix and KeyPrefixContainer. (#4806)
---
.../ozone/recon/api/types/ContainerKeyPrefix.java | 78 ++++---------------
.../recon/api/types/ContainerKeyPrefixImpl.java | 91 ++++++++++++++++++++++
.../ozone/recon/api/types/KeyPrefixContainer.java | 78 ++++---------------
.../recon/spi/impl/ContainerKeyPrefixCodec.java | 2 +-
.../recon/spi/impl/KeyPrefixContainerCodec.java | 2 +-
.../impl/ReconContainerMetadataManagerImpl.java | 22 ++----
.../ozone/recon/tasks/ContainerKeyMapperTask.java | 4 +-
.../apache/hadoop/ozone/recon/TestReconCodecs.java | 2 +-
.../TestReconContainerMetadataManagerImpl.java | 44 +++++------
.../recon/tasks/TestContainerKeyMapperTask.java | 8 +-
10 files changed, 157 insertions(+), 174 deletions(-)
diff --git
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/types/ContainerKeyPrefix.java
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/types/ContainerKeyPrefix.java
index 9dd9ad5f98..b4668697d9 100644
---
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/types/ContainerKeyPrefix.java
+++
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/types/ContainerKeyPrefix.java
@@ -18,81 +18,31 @@
package org.apache.hadoop.ozone.recon.api.types;
-import org.apache.commons.lang3.StringUtils;
-
/**
* Class to encapsulate the Key information needed for the Recon container DB.
* Currently, it is the containerId and the whole key + key version.
+ * <p>
+ * The implementations of this interface MUST be immutable.
*/
-public class ContainerKeyPrefix {
-
- private long containerId;
- private String keyPrefix;
- private long keyVersion = -1;
-
- public ContainerKeyPrefix(long containerId, String keyPrefix) {
- this.containerId = containerId;
- this.keyPrefix = keyPrefix;
- }
-
- public ContainerKeyPrefix(long containerId, String keyPrefix,
- long keyVersion) {
- this.containerId = containerId;
- this.keyPrefix = keyPrefix;
- this.keyVersion = keyVersion;
- }
-
- public ContainerKeyPrefix(long containerId) {
- this.containerId = containerId;
- }
-
- public long getContainerId() {
- return containerId;
+public interface ContainerKeyPrefix {
+ static ContainerKeyPrefix get(long containerId, String keyPrefix,
+ long keyVersion) {
+ return ContainerKeyPrefixImpl.get(containerId, keyPrefix, keyVersion);
}
- public void setContainerId(long containerId) {
- this.containerId = containerId;
+ static ContainerKeyPrefix get(long containerId, String keyPrefix) {
+ return get(containerId, keyPrefix, -1);
}
- public String getKeyPrefix() {
- return keyPrefix;
+ static ContainerKeyPrefix get(long containerId) {
+ return get(containerId, null, -1);
}
- public void setKeyPrefix(String keyPrefix) {
- this.keyPrefix = keyPrefix;
- }
-
- public long getKeyVersion() {
- return keyVersion;
- }
-
- public void setKeyVersion(long keyVersion) {
- this.keyVersion = keyVersion;
- }
+ long getContainerId();
- public KeyPrefixContainer toKeyPrefixContainer() {
- if (StringUtils.isNotEmpty(keyPrefix)) {
- return new KeyPrefixContainer(keyPrefix, keyVersion, containerId);
- }
- return null;
- }
-
- @Override
- public boolean equals(Object o) {
+ String getKeyPrefix();
- if (!(o instanceof ContainerKeyPrefix)) {
- return false;
- }
- ContainerKeyPrefix that = (ContainerKeyPrefix) o;
- return (this.containerId == that.containerId) &&
- this.keyPrefix.equals(that.keyPrefix) &&
- this.keyVersion == that.keyVersion;
- }
-
- @Override
- public int hashCode() {
- return Long.valueOf(containerId).hashCode() + 13 * keyPrefix.hashCode() +
- 17 * Long.valueOf(keyVersion).hashCode();
- }
+ long getKeyVersion();
+ KeyPrefixContainer toKeyPrefixContainer();
}
diff --git
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/types/ContainerKeyPrefixImpl.java
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/types/ContainerKeyPrefixImpl.java
new file mode 100644
index 0000000000..4a2b79d002
--- /dev/null
+++
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/types/ContainerKeyPrefixImpl.java
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.ozone.recon.api.types;
+
+import java.util.Objects;
+
+/**
+ * An implementation of both {@link ContainerKeyPrefix}
+ * and {@link KeyPrefixContainer}.
+ * <p>
+ * This class is immutable.
+ */
+final class ContainerKeyPrefixImpl
+ implements ContainerKeyPrefix, KeyPrefixContainer {
+ static ContainerKeyPrefixImpl get(long containerId, String keyPrefix,
+ long keyVersion) {
+ return new ContainerKeyPrefixImpl(containerId, keyPrefix, keyVersion);
+ }
+
+ private final long containerId;
+ private final String keyPrefix;
+ private final long keyVersion;
+
+ private ContainerKeyPrefixImpl(long containerId, String keyPrefix,
+ long keyVersion) {
+ this.containerId = containerId;
+ this.keyPrefix = keyPrefix;
+ this.keyVersion = keyVersion;
+ }
+
+ @Override
+ public long getContainerId() {
+ return containerId;
+ }
+
+ @Override
+ public String getKeyPrefix() {
+ return keyPrefix;
+ }
+
+ @Override
+ public long getKeyVersion() {
+ return keyVersion;
+ }
+
+ @Override
+ public ContainerKeyPrefix toContainerKeyPrefix() {
+ return this;
+ }
+
+ @Override
+ public KeyPrefixContainer toKeyPrefixContainer() {
+ return keyPrefix == null || keyPrefix.isEmpty() ? null : this;
+ }
+
+ @Override
+ public int hashCode() {
+ return Long.valueOf(containerId).hashCode()
+ + 13 * keyPrefix.hashCode()
+ + 17 * Long.valueOf(keyVersion).hashCode();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (o == this) {
+ return true;
+ }
+ if (!(o instanceof ContainerKeyPrefixImpl)) {
+ return false;
+ }
+ final ContainerKeyPrefixImpl that = (ContainerKeyPrefixImpl) o;
+ return this.containerId == that.containerId
+ && Objects.equals(this.keyPrefix, that.keyPrefix)
+ && this.keyVersion == that.keyVersion;
+ }
+}
diff --git
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/types/KeyPrefixContainer.java
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/types/KeyPrefixContainer.java
index c77d3a835a..3da4d6d1eb 100644
---
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/types/KeyPrefixContainer.java
+++
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/types/KeyPrefixContainer.java
@@ -18,84 +18,32 @@
package org.apache.hadoop.ozone.recon.api.types;
-import java.util.Objects;
-
/**
* Class to encapsulate the Key information needed for the Recon container DB.
* Currently, it is the whole key + key version and the containerId.
+ * <p>
+ * The implementations of this interface MUST be immutable.
*/
-public class KeyPrefixContainer {
-
- private String keyPrefix;
- private long keyVersion = -1;
- private long containerId = -1;
+public interface KeyPrefixContainer {
- public KeyPrefixContainer(String keyPrefix, long keyVersion) {
- this.keyPrefix = keyPrefix;
- this.keyVersion = keyVersion;
- }
-
- public KeyPrefixContainer(String keyPrefix, long keyVersion,
+ static KeyPrefixContainer get(String keyPrefix, long keyVersion,
long containerId) {
- this.keyPrefix = keyPrefix;
- this.keyVersion = keyVersion;
- this.containerId = containerId;
+ return ContainerKeyPrefixImpl.get(containerId, keyPrefix, keyVersion);
}
- public KeyPrefixContainer(ContainerKeyPrefix containerKeyPrefix) {
- this.keyPrefix = containerKeyPrefix.getKeyPrefix();
- this.keyVersion = containerKeyPrefix.getKeyVersion();
- this.containerId = containerKeyPrefix.getContainerId();
+ static KeyPrefixContainer get(String keyPrefix, long keyVersion) {
+ return get(keyPrefix, keyVersion, -1);
}
- public KeyPrefixContainer(String keyPrefix) {
- this.keyPrefix = keyPrefix;
+ static KeyPrefixContainer get(String keyPrefix) {
+ return get(keyPrefix, -1, -1);
}
- public String getKeyPrefix() {
- return keyPrefix;
- }
+ long getContainerId();
- public void setKeyPrefix(String keyPrefix) {
- this.keyPrefix = keyPrefix;
- }
-
- public long getKeyVersion() {
- return keyVersion;
- }
-
- public void setKeyVersion(long keyVersion) {
- this.keyVersion = keyVersion;
- }
+ String getKeyPrefix();
- public long getContainerId() {
- return containerId;
- }
-
- public void setContainerId(long containerId) {
- this.containerId = containerId;
- }
-
- public ContainerKeyPrefix toContainerKeyPrefix() {
- return new ContainerKeyPrefix(this.containerId,
- this.keyPrefix, this.keyVersion);
- }
-
- @Override
- public boolean equals(Object o) {
-
- if (!(o instanceof KeyPrefixContainer)) {
- return false;
- }
- KeyPrefixContainer that = (KeyPrefixContainer) o;
- return (this.containerId == that.containerId) &&
- this.keyPrefix.equals(that.keyPrefix) &&
- this.keyVersion == that.keyVersion;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(containerId, keyPrefix, keyPrefix);
- }
+ long getKeyVersion();
+ ContainerKeyPrefix toContainerKeyPrefix();
}
diff --git
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/ContainerKeyPrefixCodec.java
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/ContainerKeyPrefixCodec.java
index 460d6b08d0..01a630a523 100644
---
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/ContainerKeyPrefixCodec.java
+++
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/ContainerKeyPrefixCodec.java
@@ -94,7 +94,7 @@ public final class ContainerKeyPrefixCodec
rawData.length - Long.BYTES,
rawData.length);
long version = ByteBuffer.wrap(versionBytes).getLong();
- return new ContainerKeyPrefix(containerIdFromDB, keyPrefix, version);
+ return ContainerKeyPrefix.get(containerIdFromDB, keyPrefix, version);
}
@Override
diff --git
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/KeyPrefixContainerCodec.java
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/KeyPrefixContainerCodec.java
index 4c54dad6f8..7baca152b2 100644
---
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/KeyPrefixContainerCodec.java
+++
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/KeyPrefixContainerCodec.java
@@ -94,7 +94,7 @@ public final class KeyPrefixContainerCodec
long containerIdFromDB = ByteBuffer.wrap(ArrayUtils.subarray(rawData,
rawData.length - Long.BYTES,
rawData.length)).getLong();
- return new KeyPrefixContainer(keyPrefix, version, containerIdFromDB);
+ return KeyPrefixContainer.get(keyPrefix, version, containerIdFromDB);
}
@Override
diff --git
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/ReconContainerMetadataManagerImpl.java
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/ReconContainerMetadataManagerImpl.java
index 6c623c7004..0902a2be13 100644
---
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/ReconContainerMetadataManagerImpl.java
+++
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/ReconContainerMetadataManagerImpl.java
@@ -370,9 +370,9 @@ public class ReconContainerMetadataManagerImpl
boolean skipPrevKey = false;
if (StringUtils.isNotBlank(prevKeyPrefix)) {
skipPrevKey = true;
- seekKey = new ContainerKeyPrefix(containerId, prevKeyPrefix);
+ seekKey = ContainerKeyPrefix.get(containerId, prevKeyPrefix);
} else {
- seekKey = new ContainerKeyPrefix(containerId);
+ seekKey = ContainerKeyPrefix.get(containerId);
}
KeyValue<ContainerKeyPrefix, Integer> seekKeyValue =
containerIterator.seek(seekKey);
@@ -403,10 +403,7 @@ public class ReconContainerMetadataManagerImpl
// prefix.
if (containerKeyPrefix.getContainerId() == containerId) {
if (StringUtils.isNotEmpty(containerKeyPrefix.getKeyPrefix())) {
- prefixes.put(new ContainerKeyPrefix(containerId,
- containerKeyPrefix.getKeyPrefix(),
- containerKeyPrefix.getKeyVersion()),
- keyValue.getValue());
+ prefixes.put(containerKeyPrefix, keyValue.getValue());
} else {
LOG.warn("Null key prefix returned for containerId = {} ",
containerId);
@@ -443,7 +440,7 @@ public class ReconContainerMetadataManagerImpl
containerIterator = containerKeyTable.iterator()) {
ContainerKeyPrefix seekKey;
if (prevContainer > 0L) {
- seekKey = new ContainerKeyPrefix(prevContainer);
+ seekKey = ContainerKeyPrefix.get(prevContainer);
KeyValue<ContainerKeyPrefix,
Integer> seekKeyValue = containerIterator.seek(seekKey);
// Check if RocksDB was able to correctly seek to the given
@@ -453,7 +450,7 @@ public class ReconContainerMetadataManagerImpl
return containers;
} else {
// seek to the prevContainer+1 containerID to start scan
- seekKey = new ContainerKeyPrefix(prevContainer + 1);
+ seekKey = ContainerKeyPrefix.get(prevContainer + 1);
containerIterator.seek(seekKey);
}
}
@@ -598,9 +595,9 @@ public class ReconContainerMetadataManagerImpl
keyContainerTable.iterator()) {
KeyPrefixContainer seekKey;
if (keyVersion != -1) {
- seekKey = new KeyPrefixContainer(keyPrefix, keyVersion);
+ seekKey = KeyPrefixContainer.get(keyPrefix, keyVersion);
} else {
- seekKey = new KeyPrefixContainer(keyPrefix);
+ seekKey = KeyPrefixContainer.get(keyPrefix);
}
KeyValue<KeyPrefixContainer, Integer> seekKeyValue =
keyIterator.seek(seekKey);
@@ -626,10 +623,7 @@ public class ReconContainerMetadataManagerImpl
if (keyPrefixContainer.getContainerId() != -1 &&
(keyVersion == -1 ||
keyPrefixContainer.getKeyVersion() == keyVersion)) {
- containers.put(new KeyPrefixContainer(keyPrefix,
- keyPrefixContainer.getKeyVersion(),
- keyPrefixContainer.getContainerId()),
- keyValue.getValue());
+ containers.put(keyPrefixContainer, keyValue.getValue());
} else {
LOG.warn("Null container returned for keyPrefix = {}," +
" keyVersion = {} ", keyPrefix, keyVersion);
diff --git
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/ContainerKeyMapperTask.java
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/ContainerKeyMapperTask.java
index 83e2f3afe5..086827e9cb 100644
---
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/ContainerKeyMapperTask.java
+++
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/ContainerKeyMapperTask.java
@@ -270,7 +270,7 @@ public class ContainerKeyMapperTask implements ReconOmTask {
reconContainerMetadataManager.getKeyContainerTableIterator()) {
// Check if we have keys in this container in the DB
- keyContainerIterator.seek(new KeyPrefixContainer(key));
+ keyContainerIterator.seek(KeyPrefixContainer.get(key));
while (keyContainerIterator.hasNext()) {
Table.KeyValue<KeyPrefixContainer, Integer> keyValue =
keyContainerIterator.next();
@@ -340,7 +340,7 @@ public class ContainerKeyMapperTask implements ReconOmTask {
for (OmKeyLocationInfo omKeyLocationInfo : omKeyLocationInfoGroup
.getLocationList()) {
long containerId = omKeyLocationInfo.getContainerID();
- ContainerKeyPrefix containerKeyPrefix = new ContainerKeyPrefix(
+ ContainerKeyPrefix containerKeyPrefix = ContainerKeyPrefix.get(
containerId, key, keyVersion);
if (reconContainerMetadataManager.getCountForContainerKeyPrefix(
containerKeyPrefix) == 0
diff --git
a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/TestReconCodecs.java
b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/TestReconCodecs.java
index cdc0bdf5ec..ca8bc4f8da 100644
---
a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/TestReconCodecs.java
+++
b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/TestReconCodecs.java
@@ -34,7 +34,7 @@ public class TestReconCodecs {
@Test
public void testContainerKeyPrefixCodec() throws IOException {
- ContainerKeyPrefix containerKeyPrefix = new ContainerKeyPrefix(
+ ContainerKeyPrefix containerKeyPrefix = ContainerKeyPrefix.get(
System.currentTimeMillis(), "TestKeyPrefix", 0);
Codec<ContainerKeyPrefix> codec = ContainerKeyPrefixCodec.get();
diff --git
a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/spi/impl/TestReconContainerMetadataManagerImpl.java
b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/spi/impl/TestReconContainerMetadataManagerImpl.java
index 1c744409b9..c250ffe571 100644
---
a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/spi/impl/TestReconContainerMetadataManagerImpl.java
+++
b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/spi/impl/TestReconContainerMetadataManagerImpl.java
@@ -81,19 +81,19 @@ public class TestReconContainerMetadataManagerImpl {
throws Exception {
RDBBatchOperation rdbBatchOperation = new RDBBatchOperation();
- ContainerKeyPrefix containerKeyPrefix1 = new
- ContainerKeyPrefix(containerId1, keyPrefix1, 0);
+ ContainerKeyPrefix containerKeyPrefix1 = ContainerKeyPrefix.get(
+ containerId1, keyPrefix1, 0);
reconContainerMetadataManager
.batchStoreContainerKeyMapping(rdbBatchOperation, containerKeyPrefix1,
1);
- ContainerKeyPrefix containerKeyPrefix2 = new ContainerKeyPrefix(
+ ContainerKeyPrefix containerKeyPrefix2 = ContainerKeyPrefix.get(
containerId1, keyPrefix2, 0);
reconContainerMetadataManager
.batchStoreContainerKeyMapping(rdbBatchOperation, containerKeyPrefix2,
2);
- ContainerKeyPrefix containerKeyPrefix3 = new ContainerKeyPrefix(
+ ContainerKeyPrefix containerKeyPrefix3 = ContainerKeyPrefix.get(
containerId2, keyPrefix3, 0);
reconContainerMetadataManager
.batchStoreContainerKeyMapping(rdbBatchOperation, containerKeyPrefix3,
@@ -107,15 +107,15 @@ public class TestReconContainerMetadataManagerImpl {
long containerId = System.currentTimeMillis();
Map<ContainerKeyPrefix, Integer> prefixCounts = new HashMap<>();
- ContainerKeyPrefix ckp1 = new ContainerKeyPrefix(containerId,
+ ContainerKeyPrefix ckp1 = ContainerKeyPrefix.get(containerId,
"V1/B1/K1", 0);
prefixCounts.put(ckp1, 1);
- ContainerKeyPrefix ckp2 = new ContainerKeyPrefix(containerId,
+ ContainerKeyPrefix ckp2 = ContainerKeyPrefix.get(containerId,
"V1/B1/K2", 0);
prefixCounts.put(ckp2, 2);
- ContainerKeyPrefix ckp3 = new ContainerKeyPrefix(containerId,
+ ContainerKeyPrefix ckp3 = ContainerKeyPrefix.get(containerId,
"V1/B2/K3", 0);
prefixCounts.put(ckp3, 3);
@@ -133,10 +133,10 @@ public class TestReconContainerMetadataManagerImpl {
prefixCounts.clear();
prefixCounts.put(ckp2, 12);
prefixCounts.put(ckp3, 13);
- ContainerKeyPrefix ckp4 = new ContainerKeyPrefix(containerId,
+ ContainerKeyPrefix ckp4 = ContainerKeyPrefix.get(containerId,
"V1/B3/K1", 0);
prefixCounts.put(ckp4, 14);
- ContainerKeyPrefix ckp5 = new ContainerKeyPrefix(containerId,
+ ContainerKeyPrefix ckp5 = ContainerKeyPrefix.get(containerId,
"V1/B3/K2", 0);
prefixCounts.put(ckp5, 15);
@@ -166,7 +166,7 @@ public class TestReconContainerMetadataManagerImpl {
RDBBatchOperation rdbBatchOperation = new RDBBatchOperation();
for (Map.Entry<String, Integer> entry : prefixCounts.entrySet()) {
- ContainerKeyPrefix containerKeyPrefix = new ContainerKeyPrefix(
+ ContainerKeyPrefix containerKeyPrefix = ContainerKeyPrefix.get(
containerId, entry.getKey(), 0);
reconContainerMetadataManager.batchStoreContainerKeyMapping(
rdbBatchOperation, containerKeyPrefix,
@@ -176,15 +176,15 @@ public class TestReconContainerMetadataManagerImpl {
Assert.assertEquals(1,
reconContainerMetadataManager.getCountForContainerKeyPrefix(
- new ContainerKeyPrefix(containerId, keyPrefix1,
+ ContainerKeyPrefix.get(containerId, keyPrefix1,
0)).longValue());
Assert.assertEquals(2,
reconContainerMetadataManager.getCountForContainerKeyPrefix(
- new ContainerKeyPrefix(containerId, keyPrefix2,
+ ContainerKeyPrefix.get(containerId, keyPrefix2,
0)).longValue());
Assert.assertEquals(3,
reconContainerMetadataManager.getCountForContainerKeyPrefix(
- new ContainerKeyPrefix(containerId, keyPrefix3,
+ ContainerKeyPrefix.get(containerId, keyPrefix3,
0)).longValue());
}
@@ -256,16 +256,16 @@ public class TestReconContainerMetadataManagerImpl {
RDBBatchOperation rdbBatchOperation = new RDBBatchOperation();
reconContainerMetadataManager.batchStoreContainerKeyMapping(
- rdbBatchOperation, new ContainerKeyPrefix(containerId, keyPrefix1), 2);
+ rdbBatchOperation, ContainerKeyPrefix.get(containerId, keyPrefix1), 2);
reconContainerMetadataManager.commitBatchOperation(rdbBatchOperation);
Integer count = reconContainerMetadataManager.
- getCountForContainerKeyPrefix(new ContainerKeyPrefix(containerId,
+ getCountForContainerKeyPrefix(ContainerKeyPrefix.get(containerId,
keyPrefix1));
assertEquals(2L, count.longValue());
count = reconContainerMetadataManager.
- getCountForContainerKeyPrefix(new ContainerKeyPrefix(containerId,
+ getCountForContainerKeyPrefix(ContainerKeyPrefix.get(containerId,
"invalid"));
assertEquals(0L, count.longValue());
}
@@ -276,11 +276,11 @@ public class TestReconContainerMetadataManagerImpl {
long nextContainerId = 2L;
populateKeysInContainers(containerId, nextContainerId);
- ContainerKeyPrefix containerKeyPrefix1 = new
- ContainerKeyPrefix(containerId, keyPrefix1, 0);
- ContainerKeyPrefix containerKeyPrefix2 = new ContainerKeyPrefix(
+ ContainerKeyPrefix containerKeyPrefix1 = ContainerKeyPrefix.get(
+ containerId, keyPrefix1, 0);
+ ContainerKeyPrefix containerKeyPrefix2 = ContainerKeyPrefix.get(
containerId, keyPrefix2, 0);
- ContainerKeyPrefix containerKeyPrefix3 = new ContainerKeyPrefix(
+ ContainerKeyPrefix containerKeyPrefix3 = ContainerKeyPrefix.get(
nextContainerId, keyPrefix3, 0);
@@ -303,7 +303,7 @@ public class TestReconContainerMetadataManagerImpl {
long nextContainerId = 2L;
populateKeysInContainers(containerId, nextContainerId);
- ContainerKeyPrefix containerKeyPrefix2 = new ContainerKeyPrefix(
+ ContainerKeyPrefix containerKeyPrefix2 = ContainerKeyPrefix.get(
containerId, keyPrefix2, 0);
Map<ContainerKeyPrefix, Integer> keyPrefixMap =
@@ -406,7 +406,7 @@ public class TestReconContainerMetadataManagerImpl {
RDBBatchOperation rdbBatchOperation = new RDBBatchOperation();
reconContainerMetadataManager
- .batchDeleteContainerMapping(rdbBatchOperation, new ContainerKeyPrefix(
+ .batchDeleteContainerMapping(rdbBatchOperation, ContainerKeyPrefix.get(
containerId, keyPrefix2, 0));
reconContainerMetadataManager.commitBatchOperation(rdbBatchOperation);
keyPrefixMap =
diff --git
a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/tasks/TestContainerKeyMapperTask.java
b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/tasks/TestContainerKeyMapperTask.java
index be2617a1f1..176b9761ff 100644
---
a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/tasks/TestContainerKeyMapperTask.java
+++
b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/tasks/TestContainerKeyMapperTask.java
@@ -140,7 +140,7 @@ public class TestContainerKeyMapperTask {
assertEquals(1, keyPrefixesForContainer.size());
String omKey = omMetadataManager.getOzoneKey(VOLUME_NAME, BUCKET_NAME,
FILE_NAME);
- ContainerKeyPrefix containerKeyPrefix = new ContainerKeyPrefix(1,
+ ContainerKeyPrefix containerKeyPrefix = ContainerKeyPrefix.get(1,
omKey, 0);
assertEquals(1,
keyPrefixesForContainer.get(containerKeyPrefix).intValue());
@@ -148,7 +148,7 @@ public class TestContainerKeyMapperTask {
keyPrefixesForContainer =
reconContainerMetadataManager.getKeyPrefixesForContainer(2);
assertEquals(1, keyPrefixesForContainer.size());
- containerKeyPrefix = new ContainerKeyPrefix(2, omKey,
+ containerKeyPrefix = ContainerKeyPrefix.get(2, omKey,
0);
assertEquals(1,
keyPrefixesForContainer.get(containerKeyPrefix).intValue());
@@ -214,7 +214,7 @@ public class TestContainerKeyMapperTask {
omMetadataManager.getOzonePathKey(VOL_OBJECT_ID, BUCKET_ONE_OBJECT_ID,
BUCKET_ONE_OBJECT_ID, FILE_NAME);
ContainerKeyPrefix containerKeyPrefix =
- new ContainerKeyPrefix(1L, omKey, 0L);
+ ContainerKeyPrefix.get(1L, omKey, 0L);
assertEquals(1L, keyPrefixesForContainer.size());
assertEquals(1L,
keyPrefixesForContainer.get(containerKeyPrefix).intValue());
@@ -222,7 +222,7 @@ public class TestContainerKeyMapperTask {
// Check the key prefixes for container 2
keyPrefixesForContainer =
reconContainerMetadataManager.getKeyPrefixesForContainer(2L);
- containerKeyPrefix = new ContainerKeyPrefix(2L, omKey, 0L);
+ containerKeyPrefix = ContainerKeyPrefix.get(2L, omKey, 0L);
assertEquals(1L, keyPrefixesForContainer.size());
assertEquals(1L,
keyPrefixesForContainer.get(containerKeyPrefix).intValue());
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]