This is an automated email from the ASF dual-hosted git repository.
erose pushed a commit to branch HDDS-14496-zdu
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/HDDS-14496-zdu by this push:
new c74df5f4129 HDDS-14723. Create one common interface for LayoutFeature
and ComponentVersion (#9832)
c74df5f4129 is described below
commit c74df5f412992abddbe931534f336d1cd4e3dff8
Author: Ethan Rose <[email protected]>
AuthorDate: Fri Feb 27 14:48:59 2026 -0500
HDDS-14723. Create one common interface for LayoutFeature and
ComponentVersion (#9832)
---
.../annotations/RegisterValidatorProcessor.java | 2 +-
.../apache/hadoop/hdds/scm/XceiverClientGrpc.java | 6 +--
.../hadoop/hdds/scm/storage/BlockOutputStream.java | 2 +-
.../client/io/BlockInputStreamFactoryImpl.java | 2 +-
.../storage/TestBlockOutputStreamCorrectness.java | 2 +-
.../org/apache/hadoop/hdds/ComponentVersion.java | 19 +++----
.../java/org/apache/hadoop/hdds/HDDSVersion.java | 9 +++-
.../hadoop/hdds/protocol/DatanodeDetails.java | 2 +-
.../hdds/ratis/ContainerCommandRequestMessage.java | 2 +-
.../hadoop/hdds/upgrade/HDDSLayoutFeature.java | 9 +++-
.../hadoop/hdds/upgrade/HDDSUpgradeAction.java | 2 +-
.../org/apache/hadoop/ozone/ClientVersion.java | 11 ++--
.../apache/hadoop/ozone/OzoneManagerVersion.java | 9 +++-
.../apache/hadoop/ozone/upgrade/LayoutFeature.java | 29 ++---------
.../{Versioned.java => upgrade/UpgradeAction.java} | 15 ++++--
.../hdds/TestComponentVersionInvariants.java | 8 +--
.../hadoop/hdds/protocol/TestDatanodeDetails.java | 12 ++---
.../ratis/TestContainerCommandRequestMessage.java | 4 +-
.../hadoop/hdds/scm/pipeline/TestPipeline.java | 4 +-
.../ozone/container/ContainerTestHelper.java | 2 +-
.../impl/TestKeyValueStreamDataChannel.java | 2 +-
.../upgrade/AbstractLayoutVersionManager.java | 17 -------
.../ozone/upgrade/BasicUpgradeFinalizer.java | 5 +-
.../hadoop/ozone/upgrade/LayoutVersionManager.java | 14 ------
.../hadoop/ozone/upgrade/UpgradeFinalizer.java | 4 +-
.../upgrade/TestAbstractLayoutVersionManager.java | 14 ------
.../ozone/upgrade/TestUpgradeFinalizerActions.java | 5 ++
...inerLocationProtocolServerSideTranslatorPB.java | 2 +-
.../apache/hadoop/ozone/debug/VersionDebug.java | 2 +-
.../schemaupgrade/UpgradeContainerSchema.java | 4 +-
.../hadoop/ozone/om/helpers/ServiceInfo.java | 2 +-
.../request/validation/RegisterValidator.java | 4 +-
.../ozone/request/validation/package-info.java | 2 +-
.../client/rpc/TestBlockDataStreamOutput.java | 4 +-
.../ozone/om/TestBucketLayoutWithOlderClient.java | 2 +-
.../hadoop/ozone/UniformDatanodesFactory.java | 4 +-
.../validation/OMClientVersionValidator.java | 2 +-
.../validation/OMLayoutVersionValidator.java | 2 +-
.../om/request/validation/VersionExtractor.java | 8 +--
.../hadoop/ozone/om/upgrade/OMLayoutFeature.java | 9 +++-
.../ozone/om/upgrade/OMLayoutFeatureAspect.java | 15 +++---
.../hadoop/ozone/om/upgrade/OmUpgradeAction.java | 2 +-
.../request/file/TestOMDirectoryCreateRequest.java | 4 +-
.../file/TestOMDirectoryCreateRequestWithFSO.java | 4 +-
.../ozone/om/request/key/TestOMKeyRequest.java | 3 +-
.../s3/tenant/TestOMTenantCreateRequest.java | 4 +-
.../s3/tenant/TestOMTenantDeleteRequest.java | 3 +-
.../validation/TestOMValidatorProcessor.java | 58 +++++++++++-----------
.../request/validation/TestVersionExtractor.java | 15 +++---
.../snapshot/TestSnapshotRequestAndResponse.java | 4 +-
.../ozone/om/upgrade/OMLayoutFeatureUtil.java | 8 +--
.../om/upgrade/TestOMLayoutFeatureAspect.java | 7 ++-
.../ozone/om/upgrade/TestOMUpgradeFinalizer.java | 4 +-
53 files changed, 179 insertions(+), 211 deletions(-)
diff --git
a/hadoop-hdds/annotations/src/main/java/org/apache/ozone/annotations/RegisterValidatorProcessor.java
b/hadoop-hdds/annotations/src/main/java/org/apache/ozone/annotations/RegisterValidatorProcessor.java
index c5639e11e54..6b26043efb2 100644
---
a/hadoop-hdds/annotations/src/main/java/org/apache/ozone/annotations/RegisterValidatorProcessor.java
+++
b/hadoop-hdds/annotations/src/main/java/org/apache/ozone/annotations/RegisterValidatorProcessor.java
@@ -54,7 +54,7 @@
public class RegisterValidatorProcessor extends AbstractProcessor {
public static final String ANNOTATION_SIMPLE_NAME = "RegisterValidator";
- public static final String VERSION_CLASS_NAME =
"org.apache.hadoop.ozone.Version";
+ public static final String VERSION_CLASS_NAME =
"org.apache.hadoop.hdds.ComponentVersion";
public static final String REQUEST_PROCESSING_PHASE_CLASS_NAME =
"org.apache.hadoop.ozone.om.request.validation" +
".RequestProcessingPhase";
public static final String APPLY_BEFORE_METHOD_NAME = "applyBefore";
diff --git
a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java
b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java
index 6cd258c5ba3..8a14fdb9b87 100644
---
a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java
+++
b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java
@@ -288,7 +288,7 @@ public ContainerCommandResponseProto sendCommand(
futureHashMap = new HashMap<>();
if (!request.hasVersion()) {
ContainerCommandRequestProto.Builder builder =
ContainerCommandRequestProto.newBuilder(request);
- builder.setVersion(ClientVersion.CURRENT.toProtoValue());
+ builder.setVersion(ClientVersion.CURRENT.serialize());
request = builder.build();
}
for (DatanodeDetails dn : datanodeList) {
@@ -380,7 +380,7 @@ private XceiverClientReply sendCommandWithTraceIDAndRetry(
ContainerCommandRequestProto.newBuilder(request)
.setTraceID(TracingUtil.exportCurrentSpan());
if (!request.hasVersion()) {
- builder.setVersion(ClientVersion.CURRENT.toProtoValue());
+ builder.setVersion(ClientVersion.CURRENT.serialize());
}
return sendCommandWithRetry(builder.build(), validators);
});
@@ -611,7 +611,7 @@ public XceiverClientReply sendCommandAsync(
ContainerCommandRequestProto.newBuilder(request)
.setTraceID(TracingUtil.exportCurrentSpan());
if (!request.hasVersion()) {
- builder.setVersion(ClientVersion.CURRENT.toProtoValue());
+ builder.setVersion(ClientVersion.CURRENT.serialize());
}
XceiverClientReply asyncReply =
sendCommandAsync(builder.build(), pipeline.getFirstNode());
diff --git
a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockOutputStream.java
b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockOutputStream.java
index e6b76b77742..31d6d794d07 100644
---
a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockOutputStream.java
+++
b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockOutputStream.java
@@ -286,7 +286,7 @@ private boolean allDataNodesSupportPiggybacking() {
for (DatanodeDetails dn : pipeline.getNodes()) {
LOG.debug("dn = {}, version = {}", dn, dn.getCurrentVersion());
if (dn.getCurrentVersion() <
- COMBINED_PUTBLOCK_WRITECHUNK_RPC.toProtoValue()) {
+ COMBINED_PUTBLOCK_WRITECHUNK_RPC.serialize()) {
return false;
}
}
diff --git
a/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/BlockInputStreamFactoryImpl.java
b/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/BlockInputStreamFactoryImpl.java
index e6122541ef2..99fb8b89806 100644
---
a/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/BlockInputStreamFactoryImpl.java
+++
b/hadoop-hdds/client/src/main/java/org/apache/hadoop/ozone/client/io/BlockInputStreamFactoryImpl.java
@@ -103,7 +103,7 @@ private boolean allDataNodesSupportStreamBlock(Pipeline
pipeline) {
// return true only if all DataNodes in the pipeline are on a version
// that supports for reading a block by streaming chunks..
for (DatanodeDetails dn : pipeline.getNodes()) {
- if (dn.getCurrentVersion() < STREAM_BLOCK_SUPPORT.toProtoValue()) {
+ if (dn.getCurrentVersion() < STREAM_BLOCK_SUPPORT.serialize()) {
return false;
}
}
diff --git
a/hadoop-hdds/client/src/test/java/org/apache/hadoop/hdds/scm/storage/TestBlockOutputStreamCorrectness.java
b/hadoop-hdds/client/src/test/java/org/apache/hadoop/hdds/scm/storage/TestBlockOutputStreamCorrectness.java
index 440b5b3d4d5..1c38be0d996 100644
---
a/hadoop-hdds/client/src/test/java/org/apache/hadoop/hdds/scm/storage/TestBlockOutputStreamCorrectness.java
+++
b/hadoop-hdds/client/src/test/java/org/apache/hadoop/hdds/scm/storage/TestBlockOutputStreamCorrectness.java
@@ -231,7 +231,7 @@ public XceiverClientReply
sendCommandAsync(ContainerCommandRequestProto request)
if (!request.hasVersion()) {
request = ContainerCommandRequestProto.newBuilder(request)
- .setVersion(ClientVersion.CURRENT.toProtoValue()).build();
+ .setVersion(ClientVersion.CURRENT.serialize()).build();
}
final ContainerCommandResponseProto.Builder builder =
ContainerCommandResponseProto.newBuilder()
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/ComponentVersion.java
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/ComponentVersion.java
index f486d5096bc..b3e8c77572b 100644
---
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/ComponentVersion.java
+++
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/ComponentVersion.java
@@ -17,28 +17,21 @@
package org.apache.hadoop.hdds;
-import org.apache.hadoop.ozone.Versioned;
+import java.util.Optional;
+import org.apache.hadoop.ozone.upgrade.UpgradeAction;
/**
* Base type for component version enums.
*/
-public interface ComponentVersion extends Versioned {
+public interface ComponentVersion {
+ int serialize();
/**
- * Returns the description of the version enum value.
* @return the description of the version enum value.
*/
String description();
- /**
- * Returns the value that represents the enum in a protocol message
- * transferred over the wire.
- * @return the version associated with the enum value.
- */
- int toProtoValue();
-
- @Override
- default int version() {
- return toProtoValue();
+ default Optional<? extends UpgradeAction> action() {
+ return Optional.empty();
}
}
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/HDDSVersion.java
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/HDDSVersion.java
index c6cf9af4069..655083a41d9 100644
--- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/HDDSVersion.java
+++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/HDDSVersion.java
@@ -44,7 +44,7 @@ public enum HDDSVersion implements ComponentVersion {
private static final Map<Integer, HDDSVersion> BY_PROTO_VALUE =
Arrays.stream(values())
- .collect(toMap(HDDSVersion::toProtoValue, identity()));
+ .collect(toMap(HDDSVersion::serialize, identity()));
private final int version;
private final String description;
@@ -60,10 +60,15 @@ public String description() {
}
@Override
- public int toProtoValue() {
+ public int serialize() {
return version;
}
+ @Override
+ public String toString() {
+ return name() + " (" + serialize() + ")";
+ }
+
public static HDDSVersion fromProtoValue(int value) {
return BY_PROTO_VALUE.getOrDefault(value, FUTURE_VERSION);
}
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/protocol/DatanodeDetails.java
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/protocol/DatanodeDetails.java
index 6a11dc1b74e..d1ebc130505 100644
---
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/protocol/DatanodeDetails.java
+++
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/protocol/DatanodeDetails.java
@@ -469,7 +469,7 @@ public static DatanodeDetails.Builder newBuilder(
builder.setCurrentVersion(datanodeDetailsProto.getCurrentVersion());
} else {
// fallback to version 1 if not present
-
builder.setCurrentVersion(HDDSVersion.SEPARATE_RATIS_PORTS_AVAILABLE.toProtoValue());
+
builder.setCurrentVersion(HDDSVersion.SEPARATE_RATIS_PORTS_AVAILABLE.serialize());
}
return builder;
}
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/ratis/ContainerCommandRequestMessage.java
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/ratis/ContainerCommandRequestMessage.java
index ea9877255c2..c09001e580a 100644
---
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/ratis/ContainerCommandRequestMessage.java
+++
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/ratis/ContainerCommandRequestMessage.java
@@ -49,7 +49,7 @@ public static ContainerCommandRequestMessage toMessage(
b.setTraceID(traceId);
}
if (!request.hasVersion()) {
- b.setVersion(ClientVersion.CURRENT.toProtoValue());
+ b.setVersion(ClientVersion.CURRENT.serialize());
}
ByteString data = ByteString.EMPTY;
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/upgrade/HDDSLayoutFeature.java
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/upgrade/HDDSLayoutFeature.java
index 0d45298da8b..e78e1dcbffe 100644
---
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/upgrade/HDDSLayoutFeature.java
+++
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/upgrade/HDDSLayoutFeature.java
@@ -46,8 +46,8 @@ public enum HDDSLayoutFeature implements LayoutFeature {
////////////////////////////// //////////////////////////////
- private int layoutVersion;
- private String description;
+ private final int layoutVersion;
+ private final String description;
private HDDSUpgradeAction scmAction;
private HDDSUpgradeAction datanodeAction;
@@ -90,6 +90,11 @@ public String description() {
return description;
}
+ @Override
+ public String toString() {
+ return name() + " (" + serialize() + ")";
+ }
+
public Optional<HDDSUpgradeAction> scmAction() {
return Optional.ofNullable(scmAction);
}
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/upgrade/HDDSUpgradeAction.java
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/upgrade/HDDSUpgradeAction.java
index d3bdfac81c3..81e1ade3700 100644
---
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/upgrade/HDDSUpgradeAction.java
+++
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/upgrade/HDDSUpgradeAction.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.hdds.upgrade;
-import org.apache.hadoop.ozone.upgrade.LayoutFeature.UpgradeAction;
+import org.apache.hadoop.ozone.upgrade.UpgradeAction;
/**
* Upgrade Action for SCM and DataNodes.
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/ClientVersion.java
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/ClientVersion.java
index b8451353163..8c4c1a2e10d 100644
---
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/ClientVersion.java
+++
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/ClientVersion.java
@@ -50,7 +50,7 @@ public enum ClientVersion implements ComponentVersion {
private static final Map<Integer, ClientVersion> BY_PROTO_VALUE =
Arrays.stream(values())
- .collect(toMap(ClientVersion::toProtoValue, identity()));
+ .collect(toMap(ClientVersion::serialize, identity()));
private final int version;
private final String description;
@@ -66,17 +66,22 @@ public String description() {
}
@Override
- public int toProtoValue() {
+ public int serialize() {
return version;
}
+ @Override
+ public String toString() {
+ return name() + " (" + serialize() + ")";
+ }
+
public static ClientVersion fromProtoValue(int value) {
return BY_PROTO_VALUE.getOrDefault(value, FUTURE_VERSION);
}
private static ClientVersion latest() {
return Arrays.stream(ClientVersion.values())
-
.max(Comparator.comparingInt(ComponentVersion::toProtoValue)).orElse(null);
+
.max(Comparator.comparingInt(ComponentVersion::serialize)).orElse(null);
}
}
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneManagerVersion.java
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneManagerVersion.java
index 41cf8ab2856..e2946ce8e19 100644
---
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneManagerVersion.java
+++
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneManagerVersion.java
@@ -62,7 +62,7 @@ public enum OzoneManagerVersion implements ComponentVersion {
private static final Map<Integer, OzoneManagerVersion> BY_PROTO_VALUE =
Arrays.stream(values())
- .collect(toMap(OzoneManagerVersion::toProtoValue, identity()));
+ .collect(toMap(OzoneManagerVersion::serialize, identity()));
private final int version;
private final String description;
@@ -78,10 +78,15 @@ public String description() {
}
@Override
- public int toProtoValue() {
+ public int serialize() {
return version;
}
+ @Override
+ public String toString() {
+ return name() + " (" + serialize() + ")";
+ }
+
public static OzoneManagerVersion fromProtoValue(int value) {
return BY_PROTO_VALUE.getOrDefault(value, FUTURE_VERSION);
}
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/upgrade/LayoutFeature.java
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/upgrade/LayoutFeature.java
index 07bf2cb6dcb..7f7374c8137 100644
---
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/upgrade/LayoutFeature.java
+++
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/upgrade/LayoutFeature.java
@@ -17,39 +17,16 @@
package org.apache.hadoop.ozone.upgrade;
-import java.util.Optional;
-import org.apache.hadoop.ozone.Versioned;
+import org.apache.hadoop.hdds.ComponentVersion;
/**
* Generic Layout feature interface for Ozone.
*/
-public interface LayoutFeature extends Versioned {
- String name();
-
+public interface LayoutFeature extends ComponentVersion {
int layoutVersion();
- String description();
-
- default Optional<? extends UpgradeAction> action() {
- return Optional.empty();
- }
-
- /**
- * Generic UpgradeAction interface. An upgrade action is an operation that
- * is run at least once as a pre-requisite to finalizing a layout feature.
- * @param <T>
- */
- interface UpgradeAction<T> {
-
- default String name() {
- return getClass().getSimpleName();
- }
-
- void execute(T arg) throws Exception;
- }
-
@Override
- default int version() {
+ default int serialize() {
return this.layoutVersion();
}
}
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/Versioned.java
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/upgrade/UpgradeAction.java
similarity index 68%
rename from
hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/Versioned.java
rename to
hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/upgrade/UpgradeAction.java
index 136edeaf2a0..44765802e2c 100644
--- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/Versioned.java
+++
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/upgrade/UpgradeAction.java
@@ -15,11 +15,18 @@
* limitations under the License.
*/
-package org.apache.hadoop.ozone;
+package org.apache.hadoop.ozone.upgrade;
/**
- * Base class defining the version in the entire system.
+ * Generic UpgradeAction interface. An upgrade action is an operation that
+ * is run at least once as a pre-requisite to finalizing a layout feature.
+ * @param <T> action argument type
*/
-public interface Versioned {
- int version();
+public interface UpgradeAction<T> {
+
+ default String name() {
+ return getClass().getSimpleName();
+ }
+
+ void execute(T arg) throws Exception;
}
diff --git
a/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/TestComponentVersionInvariants.java
b/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/TestComponentVersionInvariants.java
index 10129a781e8..f0b1df91940 100644
---
a/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/TestComponentVersionInvariants.java
+++
b/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/TestComponentVersionInvariants.java
@@ -66,7 +66,7 @@ public void testFutureVersionHasTheHighestOrdinal(
public void testFuturVersionHasMinusOneAsProtoRepresentation(
ComponentVersion[] values, ComponentVersion defaultValue,
ComponentVersion futureValue) {
- assertEquals(-1, futureValue.toProtoValue());
+ assertEquals(-1, futureValue.serialize());
}
@@ -76,7 +76,7 @@ public void testFuturVersionHasMinusOneAsProtoRepresentation(
public void testDefaultVersionHasZeroAsProtoRepresentation(
ComponentVersion[] values, ComponentVersion defaultValue,
ComponentVersion futureValue) {
- assertEquals(0, defaultValue.toProtoValue());
+ assertEquals(0, defaultValue.serialize());
}
// versions are increasing monotonically by one
@@ -85,10 +85,10 @@ public void testDefaultVersionHasZeroAsProtoRepresentation(
public void testAssignedProtoRepresentations(
ComponentVersion[] values, ComponentVersion defaultValue,
ComponentVersion futureValue) {
- int startValue = defaultValue.toProtoValue();
+ int startValue = defaultValue.serialize();
// we skip the future version at the last position
for (int i = 0; i < values.length - 1; i++) {
- assertEquals(values[i].toProtoValue(), startValue++);
+ assertEquals(values[i].serialize(), startValue++);
}
assertEquals(values.length, ++startValue);
}
diff --git
a/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/protocol/TestDatanodeDetails.java
b/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/protocol/TestDatanodeDetails.java
index 86ed63c7f1d..f3a091c46d6 100644
---
a/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/protocol/TestDatanodeDetails.java
+++
b/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/protocol/TestDatanodeDetails.java
@@ -44,11 +44,11 @@ void protoIncludesNewPortsOnlyForV1() {
DatanodeDetails subject = MockDatanodeDetails.randomDatanodeDetails();
HddsProtos.DatanodeDetailsProto proto =
- subject.toProto(DEFAULT_VERSION.toProtoValue());
+ subject.toProto(DEFAULT_VERSION.serialize());
assertPorts(proto, V0_PORTS);
HddsProtos.DatanodeDetailsProto protoV1 =
- subject.toProto(VERSION_HANDLES_UNKNOWN_DN_PORTS.toProtoValue());
+ subject.toProto(VERSION_HANDLES_UNKNOWN_DN_PORTS.serialize());
assertPorts(protoV1, ALL_PORTS);
}
@@ -74,16 +74,16 @@ public void testNewBuilderCurrentVersion() {
Set<Port.Name> requiredPorts = Stream.of(Port.Name.STANDALONE,
Port.Name.RATIS)
.collect(Collectors.toSet());
HddsProtos.DatanodeDetailsProto.Builder protoBuilder =
- dn.toProtoBuilder(DEFAULT_VERSION.toProtoValue(), requiredPorts);
+ dn.toProtoBuilder(DEFAULT_VERSION.serialize(), requiredPorts);
protoBuilder.clearCurrentVersion();
DatanodeDetails dn2 =
DatanodeDetails.newBuilder(protoBuilder.build()).build();
- assertEquals(HDDSVersion.SEPARATE_RATIS_PORTS_AVAILABLE.toProtoValue(),
dn2.getCurrentVersion());
+ assertEquals(HDDSVersion.SEPARATE_RATIS_PORTS_AVAILABLE.serialize(),
dn2.getCurrentVersion());
// test that if the current version is set, it is used
protoBuilder =
- dn.toProtoBuilder(DEFAULT_VERSION.toProtoValue(), requiredPorts);
+ dn.toProtoBuilder(DEFAULT_VERSION.serialize(), requiredPorts);
DatanodeDetails dn3 =
DatanodeDetails.newBuilder(protoBuilder.build()).build();
- assertEquals(HDDSVersion.CURRENT.toProtoValue(), dn3.getCurrentVersion());
+ assertEquals(HDDSVersion.CURRENT.serialize(), dn3.getCurrentVersion());
}
public static void assertPorts(HddsProtos.DatanodeDetailsProto dn,
diff --git
a/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/ratis/TestContainerCommandRequestMessage.java
b/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/ratis/TestContainerCommandRequestMessage.java
index 5c5b62e6d72..76e0e995ab2 100644
---
a/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/ratis/TestContainerCommandRequestMessage.java
+++
b/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/ratis/TestContainerCommandRequestMessage.java
@@ -90,7 +90,7 @@ static ContainerCommandRequestProto newPutSmallFile(
.setContainerID(blockID.getContainerID())
.setDatanodeUuid(UUID.randomUUID().toString())
.setPutSmallFile(putSmallFileRequest)
- .setVersion(ClientVersion.CURRENT.toProtoValue())
+ .setVersion(ClientVersion.CURRENT.serialize())
.build();
}
@@ -113,7 +113,7 @@ static ContainerCommandRequestProto newWriteChunk(
.setContainerID(blockID.getContainerID())
.setDatanodeUuid(UUID.randomUUID().toString())
.setWriteChunk(writeChunkRequest)
- .setVersion(ClientVersion.CURRENT.toProtoValue())
+ .setVersion(ClientVersion.CURRENT.serialize())
.build();
}
diff --git
a/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipeline.java
b/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipeline.java
index c6ab6678e8b..c9318a9ef58 100644
---
a/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipeline.java
+++
b/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipeline.java
@@ -47,13 +47,13 @@ public void protoIncludesNewPortsOnlyForV1() throws
IOException {
Pipeline subject = MockPipeline.createPipeline(3);
HddsProtos.Pipeline proto =
- subject.getProtobufMessage(DEFAULT_VERSION.toProtoValue());
+ subject.getProtobufMessage(DEFAULT_VERSION.serialize());
for (HddsProtos.DatanodeDetailsProto dn : proto.getMembersList()) {
assertPorts(dn, V0_PORTS);
}
HddsProtos.Pipeline protoV1 = subject.getProtobufMessage(
- VERSION_HANDLES_UNKNOWN_DN_PORTS.toProtoValue());
+ VERSION_HANDLES_UNKNOWN_DN_PORTS.serialize());
for (HddsProtos.DatanodeDetailsProto dn : protoV1.getMembersList()) {
assertPorts(dn, ALL_PORTS);
}
diff --git
a/hadoop-hdds/common/src/test/java/org/apache/hadoop/ozone/container/ContainerTestHelper.java
b/hadoop-hdds/common/src/test/java/org/apache/hadoop/ozone/container/ContainerTestHelper.java
index 47a3b6a5042..46548cf2baf 100644
---
a/hadoop-hdds/common/src/test/java/org/apache/hadoop/ozone/container/ContainerTestHelper.java
+++
b/hadoop-hdds/common/src/test/java/org/apache/hadoop/ozone/container/ContainerTestHelper.java
@@ -621,7 +621,7 @@ public static ContainerCommandRequestProto
getDummyCommandRequestProto(
ClientVersion clientVersion, ContainerProtos.Type cmdType, int
replicaIndex) {
final Builder builder =
ContainerCommandRequestProto.newBuilder()
- .setVersion(clientVersion.toProtoValue())
+ .setVersion(clientVersion.serialize())
.setCmdType(cmdType)
.setContainerID(DUMMY_CONTAINER_ID)
.setDatanodeUuid(DATANODE_UUID);
diff --git
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/keyvalue/impl/TestKeyValueStreamDataChannel.java
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/keyvalue/impl/TestKeyValueStreamDataChannel.java
index 3c2992f36f4..226ff39f997 100644
---
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/keyvalue/impl/TestKeyValueStreamDataChannel.java
+++
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/keyvalue/impl/TestKeyValueStreamDataChannel.java
@@ -87,7 +87,7 @@ public class TestKeyValueStreamDataChannel {
.setContainerID(222).setLocalID(333).build()).build()))
.setDatanodeUuid("datanodeId")
.setContainerID(111L)
- .setVersion(ClientVersion.CURRENT.toProtoValue())
+ .setVersion(ClientVersion.CURRENT.serialize())
.build();
static final int PUT_BLOCK_PROTO_SIZE =
PUT_BLOCK_PROTO.toByteString().size();
diff --git
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/upgrade/AbstractLayoutVersionManager.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/upgrade/AbstractLayoutVersionManager.java
index 5aa553b30d5..73aa6c07723 100644
---
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/upgrade/AbstractLayoutVersionManager.java
+++
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/upgrade/AbstractLayoutVersionManager.java
@@ -25,8 +25,6 @@
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
import java.util.TreeMap;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import javax.management.ObjectName;
@@ -49,8 +47,6 @@ public abstract class AbstractLayoutVersionManager<T extends
LayoutFeature>
private volatile int softwareLayoutVersion; // SLV.
@VisibleForTesting
protected final TreeMap<Integer, LayoutFeature> features = new TreeMap<>();
- @VisibleForTesting
- protected final Map<String, LayoutFeature> featureMap = new HashMap<>();
private volatile Status currentUpgradeState;
// Allows querying upgrade state while an upgrade is in progress.
// Note that MLV may have been incremented during the upgrade
@@ -109,10 +105,8 @@ public void setUpgradeState(Status status) {
private void initializeFeatures(T[] lfs) {
Arrays.stream(lfs).forEach(f -> {
- Preconditions.checkArgument(!featureMap.containsKey(f.name()));
Preconditions.checkArgument(!features.containsKey(f.layoutVersion()));
features.put(f.layoutVersion(), f);
- featureMap.put(f.name(), f);
});
}
@@ -190,17 +184,6 @@ public boolean isAllowed(LayoutFeature layoutFeature) {
}
}
- @Override
- public boolean isAllowed(String featureName) {
- return featureMap.containsKey(featureName) &&
- isAllowed(featureMap.get(featureName));
- }
-
- @Override
- public LayoutFeature getFeature(String name) {
- return featureMap.get(name);
- }
-
@Override
public LayoutFeature getFeature(int layoutVersion) {
return features.get(layoutVersion);
diff --git
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/upgrade/BasicUpgradeFinalizer.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/upgrade/BasicUpgradeFinalizer.java
index 2c5be227f85..4d75e88cdf8 100644
---
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/upgrade/BasicUpgradeFinalizer.java
+++
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/upgrade/BasicUpgradeFinalizer.java
@@ -40,7 +40,6 @@
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import org.apache.hadoop.ozone.common.Storage;
-import org.apache.hadoop.ozone.upgrade.LayoutFeature.UpgradeAction;
import org.apache.hadoop.ozone.upgrade.UpgradeException.ResultCodes;
import org.apache.hadoop.ozone.upgrade.UpgradeFinalization.Status;
import org.apache.hadoop.ozone.upgrade.UpgradeFinalization.StatusAndMessages;
@@ -259,13 +258,13 @@ protected void runFinalizationAction(LayoutFeature
feature,
Optional<? extends UpgradeAction> action) throws UpgradeException {
if (!action.isPresent()) {
- emitNOOPMsg(feature.name());
+ emitNOOPMsg(feature.toString());
} else {
LOG.info("Running finalization actions for layout feature: {}", feature);
try {
action.get().execute(component);
} catch (Exception e) {
- logFinalizationFailureAndThrow(e, feature.name());
+ logFinalizationFailureAndThrow(e, feature.toString());
}
}
}
diff --git
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/upgrade/LayoutVersionManager.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/upgrade/LayoutVersionManager.java
index e4ba6d7823a..ee2d145071c 100644
---
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/upgrade/LayoutVersionManager.java
+++
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/upgrade/LayoutVersionManager.java
@@ -47,20 +47,6 @@ public interface LayoutVersionManager {
*/
boolean isAllowed(LayoutFeature layoutFeature);
- /**
- * Is allowed feature?
- * @param featureName feature name
- * @return true/false.
- */
- boolean isAllowed(String featureName);
-
- /**
- * Get Feature given feature name.
- * @param name Feature name.
- * @return LayoutFeature instance.
- */
- LayoutFeature getFeature(String name);
-
/**
* Get Feature given its layout version.
* @param layoutVersion Version number of the feature.
diff --git
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/upgrade/UpgradeFinalizer.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/upgrade/UpgradeFinalizer.java
index cdebb0183f2..3109e787c6a 100644
---
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/upgrade/UpgradeFinalizer.java
+++
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/upgrade/UpgradeFinalizer.java
@@ -34,7 +34,7 @@
* in tandem with the corresponding version manager, and Storage.
* @param <T> The service type which the implementation is bound to, this
* defines the type that is provided to {@link LayoutFeature}'s
- * {@link
org.apache.hadoop.ozone.upgrade.LayoutFeature.UpgradeAction}
+ * {@link org.apache.hadoop.ozone.upgrade.UpgradeAction}
*/
@InterfaceAudience.Private
@InterfaceStability.Evolving
@@ -46,7 +46,7 @@ public interface UpgradeFinalizer<T> {
* Finalize the metadata upgrade.
* The provided client ID will be eligible to get the status messages,
* the service provided will be provided to the
- * {@link org.apache.hadoop.ozone.upgrade.LayoutFeature.UpgradeAction}s of
+ * {@link org.apache.hadoop.ozone.upgrade.UpgradeAction}s of
* the {@link LayoutFeature}s being finalized.
* @param upgradeClientID the initiating client's identifier.
* @param service the service on which we run finalization.
diff --git
a/hadoop-hdds/framework/src/test/java/org/apache/hadoop/ozone/upgrade/TestAbstractLayoutVersionManager.java
b/hadoop-hdds/framework/src/test/java/org/apache/hadoop/ozone/upgrade/TestAbstractLayoutVersionManager.java
index 9b0c9578f63..f006698518a 100644
---
a/hadoop-hdds/framework/src/test/java/org/apache/hadoop/ozone/upgrade/TestAbstractLayoutVersionManager.java
+++
b/hadoop-hdds/framework/src/test/java/org/apache/hadoop/ozone/upgrade/TestAbstractLayoutVersionManager.java
@@ -58,7 +58,6 @@ public void testInitializationWithFeaturesToBeFinalized()
throws Exception {
versionManager.init(1, getTestLayoutFeatures(3));
assertEquals(3, versionManager.features.size());
- assertEquals(3, versionManager.featureMap.size());
assertEquals(1, versionManager.getMetadataLayoutVersion());
assertEquals(3, versionManager.getSoftwareLayoutVersion());
@@ -76,7 +75,6 @@ public void testInitializationWithUpToDateMetadataVersion()
throws Exception {
versionManager.init(2, getTestLayoutFeatures(2));
assertEquals(2, versionManager.features.size());
- assertEquals(2, versionManager.featureMap.size());
assertEquals(2, versionManager.getMetadataLayoutVersion());
assertEquals(2, versionManager.getSoftwareLayoutVersion());
@@ -101,7 +99,6 @@ public void testFeatureFinalization() throws Exception {
versionManager.finalized(lfs[1]);
assertEquals(3, versionManager.features.size());
- assertEquals(3, versionManager.featureMap.size());
assertEquals(2, versionManager.getMetadataLayoutVersion());
assertEquals(3, versionManager.getSoftwareLayoutVersion());
@@ -145,22 +142,16 @@ public void testUnfinalizedFeaturesAreNotAllowed() throws
Exception {
LayoutFeature[] lfs = getTestLayoutFeatures(3);
versionManager.init(1, lfs);
- assertTrue(versionManager.isAllowed(lfs[0].name()));
assertTrue(versionManager.isAllowed(lfs[0]));
- assertFalse(versionManager.isAllowed(lfs[1].name()));
assertFalse(versionManager.isAllowed(lfs[1]));
- assertFalse(versionManager.isAllowed(lfs[2].name()));
assertFalse(versionManager.isAllowed(lfs[2]));
versionManager.finalized(lfs[1]);
- assertTrue(versionManager.isAllowed(lfs[0].name()));
assertTrue(versionManager.isAllowed(lfs[0]));
- assertTrue(versionManager.isAllowed(lfs[1].name()));
assertTrue(versionManager.isAllowed(lfs[1]));
- assertFalse(versionManager.isAllowed(lfs[2].name()));
assertFalse(versionManager.isAllowed(lfs[2]));
}
@@ -188,11 +179,6 @@ private LayoutFeature[] getTestLayoutFeatures(int num) {
for (int i = 1; i <= num; i++) {
int finalI = i;
lfs[k++] = new LayoutFeature() {
- @Override
- public String name() {
- return "LF-" + finalI;
- }
-
@Override
public int layoutVersion() {
return finalI;
diff --git
a/hadoop-hdds/framework/src/test/java/org/apache/hadoop/ozone/upgrade/TestUpgradeFinalizerActions.java
b/hadoop-hdds/framework/src/test/java/org/apache/hadoop/ozone/upgrade/TestUpgradeFinalizerActions.java
index 02589de7d71..ade86b488b9 100644
---
a/hadoop-hdds/framework/src/test/java/org/apache/hadoop/ozone/upgrade/TestUpgradeFinalizerActions.java
+++
b/hadoop-hdds/framework/src/test/java/org/apache/hadoop/ozone/upgrade/TestUpgradeFinalizerActions.java
@@ -86,6 +86,11 @@ public String description() {
return null;
}
+ @Override
+ public String toString() {
+ return name() + " (" + serialize() + ")";
+ }
+
public void addAction(UpgradeAction upgradeAction) {
this.action = upgradeAction;
}
diff --git
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/protocol/StorageContainerLocationProtocolServerSideTranslatorPB.java
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/protocol/StorageContainerLocationProtocolServerSideTranslatorPB.java
index 62f06079bf0..acb7dc7d252 100644
---
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/protocol/StorageContainerLocationProtocolServerSideTranslatorPB.java
+++
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/protocol/StorageContainerLocationProtocolServerSideTranslatorPB.java
@@ -221,7 +221,7 @@ public ScmContainerLocationResponse
submitRequest(RpcController controller,
// annotated interceptors.
boolean checkResponseForECRepConfig = false;
if (request.getVersion() <
- ClientVersion.ERASURE_CODING_SUPPORT.toProtoValue()) {
+ ClientVersion.ERASURE_CODING_SUPPORT.serialize()) {
if (request.getCmdType() == GetContainer
|| request.getCmdType() == ListContainer
|| request.getCmdType() == GetContainerWithPipeline
diff --git
a/hadoop-ozone/cli-debug/src/main/java/org/apache/hadoop/ozone/debug/VersionDebug.java
b/hadoop-ozone/cli-debug/src/main/java/org/apache/hadoop/ozone/debug/VersionDebug.java
index 79a7e5c7bf0..20cf91d0872 100644
---
a/hadoop-ozone/cli-debug/src/main/java/org/apache/hadoop/ozone/debug/VersionDebug.java
+++
b/hadoop-ozone/cli-debug/src/main/java/org/apache/hadoop/ozone/debug/VersionDebug.java
@@ -63,7 +63,7 @@ private static <T extends Enum<T> & ComponentVersion>
Map<String, Object> asMap(
return ImmutableSortedMap.of(
"componentVersion", ImmutableSortedMap.of(
"name", version.name(),
- "protoValue", version.toProtoValue()
+ "protoValue", version.serialize()
)
);
}
diff --git
a/hadoop-ozone/cli-repair/src/main/java/org/apache/hadoop/ozone/repair/datanode/schemaupgrade/UpgradeContainerSchema.java
b/hadoop-ozone/cli-repair/src/main/java/org/apache/hadoop/ozone/repair/datanode/schemaupgrade/UpgradeContainerSchema.java
index 97f2e215ebf..7add67421fa 100644
---
a/hadoop-ozone/cli-repair/src/main/java/org/apache/hadoop/ozone/repair/datanode/schemaupgrade/UpgradeContainerSchema.java
+++
b/hadoop-ozone/cli-repair/src/main/java/org/apache/hadoop/ozone/repair/datanode/schemaupgrade/UpgradeContainerSchema.java
@@ -144,8 +144,8 @@ public void execute() throws Exception {
"Please upgrade your software version, no less than %s," +
" current metadata layout version is %s," +
" software layout version is %s",
- HDDSLayoutFeature.DATANODE_SCHEMA_V3.name(),
- metadataLayoutFeature.name(), softwareLayoutFeature.name());
+ HDDSLayoutFeature.DATANODE_SCHEMA_V3.toString(),
+ metadataLayoutFeature.toString(), softwareLayoutFeature.toString());
return;
}
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/ServiceInfo.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/ServiceInfo.java
index a94e0025401..f5d8f24e3fd 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/ServiceInfo.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/ServiceInfo.java
@@ -190,7 +190,7 @@ public OzoneManagerProtocolProtos.ServiceInfo getProtobuf()
{
.setHostname(hostname)
.addAllServicePorts(servicePorts);
if (omVersion != null) {
- builder.setOMVersion(omVersion.toProtoValue());
+ builder.setOMVersion(omVersion.serialize());
}
if (nodeType == NodeType.OM && omRoleInfo != null) {
builder.setOmRole(omRoleInfo);
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/request/validation/RegisterValidator.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/request/validation/RegisterValidator.java
index 396bffe4438..16384dbe125 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/request/validation/RegisterValidator.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/request/validation/RegisterValidator.java
@@ -21,12 +21,12 @@
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import org.apache.hadoop.ozone.Versioned;
+import org.apache.hadoop.hdds.ComponentVersion;
/**
* Annotations to register a validator. {@code
org.apache.ozone.annotations.RegisterValidatorProcessor}
* enforces other annotation to have the following methods:
- * applyBefore : Returns an enum which implement {@link Versioned}
+ * applyBefore : Returns an enum which implement {@link ComponentVersion}
* requestType: Returns an Enum value.
* processingPhase: Returns {@link RequestProcessingPhase}
*/
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/request/validation/package-info.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/request/validation/package-info.java
index 4365baa77e9..abad2f82079 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/request/validation/package-info.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/request/validation/package-info.java
@@ -23,7 +23,7 @@
* code for any server.
* {@link org.apache.hadoop.ozone.request.validation.RegisterValidator}
* is used to register any validator which has the following methods:
- * - applyBefore : Returns an enum which implement {@link
org.apache.hadoop.ozone.Versioned}
+ * - applyBefore : Returns an enum which implement {@link
org.apache.hadoop.hdds.ComponentVersion}
* - requestType: Returns an Enum value.
* - processingPhase: Returns {@link
org.apache.hadoop.ozone.request.validation.RequestProcessingPhase}
*
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestBlockDataStreamOutput.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestBlockDataStreamOutput.java
index ab71288a8dc..d90bf3ea803 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestBlockDataStreamOutput.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestBlockDataStreamOutput.java
@@ -341,7 +341,7 @@ public void testDatanodeVersion(boolean flushDelay) throws
Exception {
List<HddsDatanodeService> dns = cluster.getHddsDatanodes();
for (HddsDatanodeService dn : dns) {
DatanodeDetails details = dn.getDatanodeDetails();
- assertEquals(DN_OLD_VERSION.toProtoValue(),
details.getCurrentVersion());
+ assertEquals(DN_OLD_VERSION.serialize(), details.getCurrentVersion());
}
String keyName = getKeyName();
@@ -352,7 +352,7 @@ public void testDatanodeVersion(boolean flushDelay) throws
Exception {
// Now check 3 DNs in a random pipeline returns the correct DN versions
List<DatanodeDetails> streamDnDetails = stream.getPipeline().getNodes();
for (DatanodeDetails details : streamDnDetails) {
- assertEquals(DN_OLD_VERSION.toProtoValue(),
details.getCurrentVersion());
+ assertEquals(DN_OLD_VERSION.serialize(), details.getCurrentVersion());
}
}
}
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestBucketLayoutWithOlderClient.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestBucketLayoutWithOlderClient.java
index 08961fc4773..2275664de40 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestBucketLayoutWithOlderClient.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestBucketLayoutWithOlderClient.java
@@ -79,7 +79,7 @@ public void testCreateBucketWithOlderClient() throws
Exception {
OzoneManagerProtocolProtos.OMRequest
.newBuilder()
.setCmdType(OzoneManagerProtocolProtos.Type.CreateBucket)
- .setVersion(ClientVersion.DEFAULT_VERSION.toProtoValue())
+ .setVersion(ClientVersion.DEFAULT_VERSION.serialize())
.setClientId(UUID.randomUUID().toString())
.setCreateBucketRequest(
OzoneManagerProtocolProtos.CreateBucketRequest.newBuilder()
diff --git
a/hadoop-ozone/mini-cluster/src/main/java/org/apache/hadoop/ozone/UniformDatanodesFactory.java
b/hadoop-ozone/mini-cluster/src/main/java/org/apache/hadoop/ozone/UniformDatanodesFactory.java
index 34fa80bc446..22d7dc617bb 100644
---
a/hadoop-ozone/mini-cluster/src/main/java/org/apache/hadoop/ozone/UniformDatanodesFactory.java
+++
b/hadoop-ozone/mini-cluster/src/main/java/org/apache/hadoop/ozone/UniformDatanodesFactory.java
@@ -111,10 +111,10 @@ public OzoneConfiguration apply(OzoneConfiguration conf)
throws IOException {
}
if (initialVersion != null) {
- dnConf.setInt(TESTING_DATANODE_VERSION_INITIAL,
initialVersion.toProtoValue());
+ dnConf.setInt(TESTING_DATANODE_VERSION_INITIAL,
initialVersion.serialize());
}
if (currentVersion != null) {
- dnConf.setInt(TESTING_DATANODE_VERSION_CURRENT,
currentVersion.toProtoValue());
+ dnConf.setInt(TESTING_DATANODE_VERSION_CURRENT,
currentVersion.serialize());
}
dnConf.set(HDDS_RATIS_LEADER_FIRST_ELECTION_MINIMUM_TIMEOUT_DURATION_KEY,
"1s");
dnConf.set(HDDS_INITIAL_HEARTBEAT_INTERVAL, "500ms");
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/validation/OMClientVersionValidator.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/validation/OMClientVersionValidator.java
index 015b67b47dd..e7f62a72123 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/validation/OMClientVersionValidator.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/validation/OMClientVersionValidator.java
@@ -35,7 +35,7 @@
*
* The conditions describe the specific use case in which the validator should
be
* applied to the request.
- * See {@link VersionExtractor} for getting all the supported different {@link
org.apache.hadoop.ozone.Versioned}
+ * See {@link VersionExtractor} for getting all the supported different {@link
org.apache.hadoop.hdds.ComponentVersion}
* component's actual version.
* The validator method will be applied to the specified request type(s).
* To help keep these methods simple and straightforward, use one method for
multiple requests only If
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/validation/OMLayoutVersionValidator.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/validation/OMLayoutVersionValidator.java
index 8dc624fe10b..5e516dfabe5 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/validation/OMLayoutVersionValidator.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/validation/OMLayoutVersionValidator.java
@@ -35,7 +35,7 @@
*
* The conditions describe the specific use case in which the validator should
be
* applied to the request.
- * See {@link VersionExtractor} for getting all the supported different {@link
org.apache.hadoop.ozone.Versioned}
+ * See {@link VersionExtractor} for getting all the supported different {@link
org.apache.hadoop.hdds.ComponentVersion}
* component's actual version.
* The validator method will be applied to the specified request type(s).
* To help keep these methods simple and straightforward use inheritance and
annotate
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/validation/VersionExtractor.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/validation/VersionExtractor.java
index cf04ceaecd0..f7b90bd060d 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/validation/VersionExtractor.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/validation/VersionExtractor.java
@@ -18,8 +18,8 @@
package org.apache.hadoop.ozone.om.request.validation;
import java.lang.annotation.Annotation;
+import org.apache.hadoop.hdds.ComponentVersion;
import org.apache.hadoop.ozone.ClientVersion;
-import org.apache.hadoop.ozone.Versioned;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest;
import org.apache.hadoop.ozone.upgrade.LayoutVersionManager;
@@ -32,7 +32,7 @@ public enum VersionExtractor {
*/
LAYOUT_VERSION_EXTRACTOR {
@Override
- public Versioned extractVersion(OMRequest req, ValidationContext ctx) {
+ public ComponentVersion extractVersion(OMRequest req, ValidationContext
ctx) {
LayoutVersionManager layoutVersionManager = ctx.versionManager();
return
ctx.versionManager().getFeature(layoutVersionManager.getMetadataLayoutVersion());
}
@@ -48,7 +48,7 @@ public Class<? extends Annotation> getValidatorClass() {
*/
CLIENT_VERSION_EXTRACTOR {
@Override
- public Versioned extractVersion(OMRequest req, ValidationContext ctx) {
+ public ComponentVersion extractVersion(OMRequest req, ValidationContext
ctx) {
return req.getVersion() > ClientVersion.CURRENT_VERSION ?
ClientVersion.FUTURE_VERSION :
ClientVersion.fromProtoValue(req.getVersion());
}
@@ -59,7 +59,7 @@ public Class<? extends Annotation> getValidatorClass() {
}
};
- public abstract Versioned extractVersion(OMRequest req, ValidationContext
ctx);
+ public abstract ComponentVersion extractVersion(OMRequest req,
ValidationContext ctx);
public abstract Class<? extends Annotation> getValidatorClass();
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/upgrade/OMLayoutFeature.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/upgrade/OMLayoutFeature.java
index ef99b453b7f..c19b720682d 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/upgrade/OMLayoutFeature.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/upgrade/OMLayoutFeature.java
@@ -48,8 +48,8 @@ public enum OMLayoutFeature implements LayoutFeature {
/////////////////////////////// /////////////////////////////
- private int layoutVersion;
- private String description;
+ private final int layoutVersion;
+ private final String description;
private OmUpgradeAction action;
OMLayoutFeature(final int layoutVersion, String description) {
@@ -67,6 +67,11 @@ public String description() {
return description;
}
+ @Override
+ public String toString() {
+ return name() + " (" + serialize() + ")";
+ }
+
/**
* Associates a given upgrade action with this feature. Only the first
upgrade action registered will be used.
*
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/upgrade/OMLayoutFeatureAspect.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/upgrade/OMLayoutFeatureAspect.java
index 70cfa1791fd..20edda53823 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/upgrade/OMLayoutFeatureAspect.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/upgrade/OMLayoutFeatureAspect.java
@@ -50,9 +50,9 @@ public class OMLayoutFeatureAspect {
@Before("@annotation(DisallowedUntilLayoutVersion) && execution(* *(..))")
public void checkLayoutFeature(JoinPoint joinPoint) throws IOException {
- String featureName = ((MethodSignature) joinPoint.getSignature())
+ LayoutFeature layoutFeature = ((MethodSignature) joinPoint.getSignature())
.getMethod().getAnnotation(DisallowedUntilLayoutVersion.class)
- .value().name();
+ .value();
LayoutVersionManager lvm;
final Object[] args = joinPoint.getArgs();
if (joinPoint.getTarget() instanceof OzoneManagerRequestHandler) {
@@ -73,19 +73,18 @@ public void checkLayoutFeature(JoinPoint joinPoint) throws
IOException {
lvm = new OMLayoutVersionManager();
}
}
- checkIsAllowed(joinPoint.getSignature().toShortString(), lvm, featureName);
+ checkIsAllowed(joinPoint.getSignature().toShortString(), lvm,
layoutFeature);
}
private void checkIsAllowed(String operationName,
LayoutVersionManager lvm,
- String featureName) throws OMException {
- if (!lvm.isAllowed(featureName)) {
- LayoutFeature layoutFeature = lvm.getFeature(featureName);
+ LayoutFeature layoutFeature) throws OMException {
+ if (!lvm.isAllowed(layoutFeature)) {
throw new OMException(String.format("Operation %s cannot be invoked " +
"before finalization. It belongs to the layout feature %s, " +
"whose layout version is %d. Current Layout version is %d",
operationName,
- layoutFeature.name(),
+ layoutFeature.toString(),
layoutFeature.layoutVersion(),
lvm.getMetadataLayoutVersion()),
NOT_SUPPORTED_OPERATION_PRIOR_FINALIZATION);
@@ -113,7 +112,7 @@ public void beforeRequestApplyTxn(final JoinPoint joinPoint)
LayoutFeature lf = annotation.value();
checkIsAllowed(joinPoint.getTarget().getClass().getSimpleName(),
- om.getVersionManager(), lf.name());
+ om.getVersionManager(), lf);
}
/**
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/upgrade/OmUpgradeAction.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/upgrade/OmUpgradeAction.java
index 2c3f5f154c8..1d90eac15b4 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/upgrade/OmUpgradeAction.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/upgrade/OmUpgradeAction.java
@@ -18,7 +18,7 @@
package org.apache.hadoop.ozone.om.upgrade;
import org.apache.hadoop.ozone.om.OzoneManager;
-import org.apache.hadoop.ozone.upgrade.LayoutFeature.UpgradeAction;
+import org.apache.hadoop.ozone.upgrade.UpgradeAction;
/**
* Upgrade Action for OzoneManager which takes in an 'OM' instance.
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMDirectoryCreateRequest.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMDirectoryCreateRequest.java
index 1b096070ea3..04351d3f829 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMDirectoryCreateRequest.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMDirectoryCreateRequest.java
@@ -29,7 +29,6 @@
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.anyString;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.framework;
import static org.mockito.Mockito.mock;
@@ -69,6 +68,7 @@
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.CreateDirectoryRequest;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.KeyArgs;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest;
+import org.apache.hadoop.ozone.upgrade.LayoutFeature;
import org.apache.hadoop.security.UserGroupInformation;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
@@ -112,7 +112,7 @@ public void setup() throws Exception {
BucketLayout.DEFAULT));
OMLayoutVersionManager lvm = mock(OMLayoutVersionManager.class);
when(lvm.getMetadataLayoutVersion()).thenReturn(0);
- when(lvm.isAllowed(anyString())).thenReturn(true);
+ when(lvm.isAllowed(any(LayoutFeature.class))).thenReturn(true);
when(ozoneManager.getVersionManager()).thenReturn(lvm);
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMDirectoryCreateRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMDirectoryCreateRequestWithFSO.java
index 4abeaf25d0c..fd125563825 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMDirectoryCreateRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMDirectoryCreateRequestWithFSO.java
@@ -27,7 +27,6 @@
import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.anyString;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.framework;
import static org.mockito.Mockito.mock;
@@ -69,6 +68,7 @@
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.CreateDirectoryRequest;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.KeyArgs;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest;
+import org.apache.hadoop.ozone.upgrade.LayoutFeature;
import org.apache.hadoop.security.UserGroupInformation;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
@@ -113,7 +113,7 @@ public void setup() throws Exception {
BucketLayout.DEFAULT));
OMLayoutVersionManager lvm = mock(OMLayoutVersionManager.class);
when(lvm.getMetadataLayoutVersion()).thenReturn(0);
- when(lvm.isAllowed(anyString())).thenReturn(true);
+ when(lvm.isAllowed(any(LayoutFeature.class))).thenReturn(true);
when(ozoneManager.getVersionManager()).thenReturn(lvm);
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyRequest.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyRequest.java
index b84294370c5..8643802723e 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyRequest.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyRequest.java
@@ -87,6 +87,7 @@
import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.KeyArgs;
import org.apache.hadoop.ozone.security.acl.OzoneNativeAuthorizer;
+import org.apache.hadoop.ozone.upgrade.LayoutFeature;
import org.apache.hadoop.security.UserGroupInformation;
import org.apache.hadoop.util.Time;
import org.apache.ozone.test.GenericTestUtils;
@@ -155,7 +156,7 @@ public void setup() throws Exception {
when(ozoneManager.getConfiguration()).thenReturn(ozoneConfiguration);
when(ozoneManager.getConfig()).thenReturn(ozoneConfiguration.getObject(OmConfig.class));
OMLayoutVersionManager lvm = mock(OMLayoutVersionManager.class);
- when(lvm.isAllowed(anyString())).thenReturn(true);
+ when(lvm.isAllowed(any(LayoutFeature.class))).thenReturn(true);
when(ozoneManager.getVersionManager()).thenReturn(lvm);
when(ozoneManager.isFilesystemSnapshotEnabled()).thenReturn(true);
auditLogger = mock(AuditLogger.class);
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/tenant/TestOMTenantCreateRequest.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/tenant/TestOMTenantCreateRequest.java
index 36529d01064..713bf6b621d 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/tenant/TestOMTenantCreateRequest.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/tenant/TestOMTenantCreateRequest.java
@@ -22,7 +22,6 @@
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.anyString;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.framework;
@@ -54,6 +53,7 @@
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status;
import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer;
import org.apache.hadoop.ozone.security.acl.OzoneObj;
+import org.apache.hadoop.ozone.upgrade.LayoutFeature;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -83,7 +83,7 @@ public void setup() throws Exception {
when(ozoneManager.getMaxUserVolumeCount()).thenReturn(10L);
OMLayoutVersionManager lvm = mock(OMLayoutVersionManager.class);
when(lvm.getMetadataLayoutVersion()).thenReturn(0);
- when(lvm.isAllowed(anyString())).thenReturn(true);
+ when(lvm.isAllowed(any(LayoutFeature.class))).thenReturn(true);
when(ozoneManager.getVersionManager()).thenReturn(lvm);
AuditLogger auditLogger = mock(AuditLogger.class);
when(ozoneManager.getAuditLogger()).thenReturn(auditLogger);
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/tenant/TestOMTenantDeleteRequest.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/tenant/TestOMTenantDeleteRequest.java
index 6de4f1d8446..15a0660a686 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/tenant/TestOMTenantDeleteRequest.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/tenant/TestOMTenantDeleteRequest.java
@@ -49,6 +49,7 @@
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest;
import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer;
import org.apache.hadoop.ozone.security.acl.OzoneObj;
+import org.apache.hadoop.ozone.upgrade.LayoutFeature;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -80,7 +81,7 @@ public void setup() throws Exception {
OMLayoutVersionManager lvm = mock(OMLayoutVersionManager.class);
when(lvm.getMetadataLayoutVersion()).thenReturn(0);
- when(lvm.isAllowed(anyString())).thenReturn(true);
+ when(lvm.isAllowed(any(LayoutFeature.class))).thenReturn(true);
when(ozoneManager.getVersionManager()).thenReturn(lvm);
AuditLogger auditLogger = mock(AuditLogger.class);
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/validation/TestOMValidatorProcessor.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/validation/TestOMValidatorProcessor.java
index 677a722bfe1..d487cdf216e 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/validation/TestOMValidatorProcessor.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/validation/TestOMValidatorProcessor.java
@@ -41,7 +41,7 @@
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
-import org.apache.hadoop.ozone.Versioned;
+import org.apache.hadoop.hdds.ComponentVersion;
import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Type;
import org.apache.hadoop.ozone.request.validation.RegisterValidator;
import org.apache.hadoop.ozone.request.validation.RequestProcessingPhase;
@@ -89,7 +89,7 @@ private static Stream<Arguments> annotatedClasses() {
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testAnnotationCanOnlyBeAppliedOnMethods(Class<?> annotationClass,
+ public <V extends Enum<V> & ComponentVersion> void
testAnnotationCanOnlyBeAppliedOnMethods(Class<?> annotationClass,
V version) {
for (Annotation a : annotationClass.getAnnotations()) {
if (a instanceof Target) {
@@ -101,8 +101,9 @@ public <V extends Enum<V> & Versioned> void
testAnnotationCanOnlyBeAppliedOnMeth
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testACorrectAnnotationSetupForPreProcessCompiles(Class<?> annotationClass,
-
V version) {
+ public <V extends Enum<V> & ComponentVersion> void
+ testACorrectAnnotationSetupForPreProcessCompiles(
+ Class<?> annotationClass, V version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(preProcess(), aReqType(), annotationClass, version),
modifiers("public", "static"),
@@ -115,7 +116,7 @@ public <V extends Enum<V> & Versioned> void
testACorrectAnnotationSetupForPrePro
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testACorrectAnnotationSetupForPostProcessCompiles(
+ public <V extends Enum<V> & ComponentVersion> void
testACorrectAnnotationSetupForPostProcessCompiles(
Class<?> annotationClass, V version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(postProcess(), aReqType(), annotationClass, version),
@@ -129,8 +130,9 @@ public <V extends Enum<V> & Versioned> void
testACorrectAnnotationSetupForPostPr
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testValidatorDoesNotNecessarilyThrowsExceptions(Class<?> annotationClass,
-
V version) {
+ public <V extends Enum<V> & ComponentVersion> void
+ testValidatorDoesNotNecessarilyThrowsExceptions(
+ Class<?> annotationClass, V version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(preProcess(), aReqType(), annotationClass, version),
modifiers("public", "static"),
@@ -143,7 +145,7 @@ public <V extends Enum<V> & Versioned> void
testValidatorDoesNotNecessarilyThrow
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testNonStaticValidatorDoesNotCompile(Class<?> annotationClass,
+ public <V extends Enum<V> & ComponentVersion> void
testNonStaticValidatorDoesNotCompile(Class<?> annotationClass,
V version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(preProcess(), aReqType(), annotationClass, version),
@@ -158,7 +160,7 @@ public <V extends Enum<V> & Versioned> void
testNonStaticValidatorDoesNotCompile
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testValidatorMethodCanBeFinal(Class<?> annotationClass,
+ public <V extends Enum<V> & ComponentVersion> void
testValidatorMethodCanBeFinal(Class<?> annotationClass,
V
version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(preProcess(), aReqType(), annotationClass, version),
@@ -172,7 +174,7 @@ public <V extends Enum<V> & Versioned> void
testValidatorMethodCanBeFinal(Class<
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testValidatorMethodCanBePrivate(Class<?> annotationClass,
+ public <V extends Enum<V> & ComponentVersion> void
testValidatorMethodCanBePrivate(Class<?> annotationClass,
V
version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(preProcess(), aReqType(), annotationClass, version),
@@ -186,7 +188,7 @@ public <V extends Enum<V> & Versioned> void
testValidatorMethodCanBePrivate(Clas
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testValidatorMethodCanBeDefaultVisible(Class<?> annotationClass,
+ public <V extends Enum<V> & ComponentVersion> void
testValidatorMethodCanBeDefaultVisible(Class<?> annotationClass,
V version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(preProcess(), aReqType(), annotationClass, version),
@@ -200,7 +202,7 @@ public <V extends Enum<V> & Versioned> void
testValidatorMethodCanBeDefaultVisib
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testValidatorMethodCanBeProtected(Class<?> annotationClass,
+ public <V extends Enum<V> & ComponentVersion> void
testValidatorMethodCanBeProtected(Class<?> annotationClass,
V version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(preProcess(), aReqType(), annotationClass, version),
@@ -214,7 +216,7 @@ public <V extends Enum<V> & Versioned> void
testValidatorMethodCanBeProtected(Cl
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testNotEnoughParametersForPreProcess(Class<?> annotationClass,
+ public <V extends Enum<V> & ComponentVersion> void
testNotEnoughParametersForPreProcess(Class<?> annotationClass,
V version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(preProcess(), aReqType(), annotationClass, version),
@@ -230,7 +232,7 @@ public <V extends Enum<V> & Versioned> void
testNotEnoughParametersForPreProcess
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testTooManyParametersForPreProcess(Class<?> annotationClass,
+ public <V extends Enum<V> & ComponentVersion> void
testTooManyParametersForPreProcess(Class<?> annotationClass,
V version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(preProcess(), aReqType(), annotationClass, version),
@@ -246,7 +248,7 @@ public <V extends Enum<V> & Versioned> void
testTooManyParametersForPreProcess(C
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testNotEnoughParametersForPostProcess(Class<?> annotationClass,
+ public <V extends Enum<V> & ComponentVersion> void
testNotEnoughParametersForPostProcess(Class<?> annotationClass,
V version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(postProcess(), aReqType(), annotationClass, version),
@@ -262,7 +264,7 @@ public <V extends Enum<V> & Versioned> void
testNotEnoughParametersForPostProces
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testTooManyParametersForPostProcess(Class<?> annotationClass,
+ public <V extends Enum<V> & ComponentVersion> void
testTooManyParametersForPostProcess(Class<?> annotationClass,
V version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(postProcess(), aReqType(), annotationClass, version),
@@ -279,7 +281,7 @@ public <V extends Enum<V> & Versioned> void
testTooManyParametersForPostProcess(
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testWrongReturnValueForPreProcess(Class<?> annotationClass,
+ public <V extends Enum<V> & ComponentVersion> void
testWrongReturnValueForPreProcess(Class<?> annotationClass,
V version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(preProcess(), aReqType(), annotationClass, version),
@@ -294,7 +296,7 @@ public <V extends Enum<V> & Versioned> void
testWrongReturnValueForPreProcess(Cl
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testWrongReturnValueForPostProcess(Class<?> annotationClass,
+ public <V extends Enum<V> & ComponentVersion> void
testWrongReturnValueForPostProcess(Class<?> annotationClass,
V version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(postProcess(), aReqType(), annotationClass, version),
@@ -309,7 +311,7 @@ public <V extends Enum<V> & Versioned> void
testWrongReturnValueForPostProcess(C
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testWrongFirstArgumentForPreProcess(Class<?> annotationClass,
+ public <V extends Enum<V> & ComponentVersion> void
testWrongFirstArgumentForPreProcess(Class<?> annotationClass,
V version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(preProcess(), aReqType(), annotationClass, version),
@@ -324,7 +326,7 @@ public <V extends Enum<V> & Versioned> void
testWrongFirstArgumentForPreProcess(
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testWrongFirstArgumentForPostProcess(Class<?> annotationClass,
+ public <V extends Enum<V> & ComponentVersion> void
testWrongFirstArgumentForPostProcess(Class<?> annotationClass,
V version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(postProcess(), aReqType(), annotationClass, version),
@@ -339,7 +341,7 @@ public <V extends Enum<V> & Versioned> void
testWrongFirstArgumentForPostProcess
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testWrongSecondArgumentForPreProcess(Class<?> annotationClass,
+ public <V extends Enum<V> & ComponentVersion> void
testWrongSecondArgumentForPreProcess(Class<?> annotationClass,
V version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(preProcess(), aReqType(), annotationClass, version),
@@ -354,7 +356,7 @@ public <V extends Enum<V> & Versioned> void
testWrongSecondArgumentForPreProcess
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testWrongSecondArgumentForPostProcess(Class<?> annotationClass,
+ public <V extends Enum<V> & ComponentVersion> void
testWrongSecondArgumentForPostProcess(Class<?> annotationClass,
V version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(postProcess(), aReqType(), annotationClass, version),
@@ -369,7 +371,7 @@ public <V extends Enum<V> & Versioned> void
testWrongSecondArgumentForPostProces
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testWrongThirdArgumentForPostProcess(Class<?> annotationClass,
+ public <V extends Enum<V> & ComponentVersion> void
testWrongThirdArgumentForPostProcess(Class<?> annotationClass,
V version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(postProcess(), aReqType(), annotationClass, version),
@@ -384,7 +386,7 @@ public <V extends Enum<V> & Versioned> void
testWrongThirdArgumentForPostProcess
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testInvalidProcessingPhase(Class<?> annotationClass,
+ public <V extends Enum<V> & ComponentVersion> void
testInvalidProcessingPhase(Class<?> annotationClass,
V
version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf("INVALID", aReqType(), annotationClass, version),
@@ -398,7 +400,7 @@ public <V extends Enum<V> & Versioned> void
testInvalidProcessingPhase(Class<?>
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testInvalidClientVersion(Class<?> annotationClass,
+ public <V extends Enum<V> & ComponentVersion> void
testInvalidClientVersion(Class<?> annotationClass,
V
version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(RequestProcessingPhase.PRE_PROCESS, aReqType(),
annotationClass, null),
@@ -412,7 +414,7 @@ public <V extends Enum<V> & Versioned> void
testInvalidClientVersion(Class<?> an
@ParameterizedTest
@MethodSource("annotatedClasses")
- public <V extends Enum<V> & Versioned> void
testMultipleErrorMessages(Class<?> annotationClass,
+ public <V extends Enum<V> & ComponentVersion> void
testMultipleErrorMessages(Class<?> annotationClass,
V
version) {
List<String> source = generateSourceOfValidatorMethodWith(
annotationOf(postProcess(), aReqType(), annotationClass, version),
@@ -493,12 +495,12 @@ private List<String> generateSourceOfValidatorMethodWith(
return lines;
}
- private <V extends Enum<V> & Versioned> String annotationOf(
+ private <V extends Enum<V> & ComponentVersion> String annotationOf(
RequestProcessingPhase phase, Type reqType, Class<?> annotationClass, V
applyBeforeVersion) {
return annotationOf(phase.name(), reqType, annotationClass,
applyBeforeVersion);
}
- private <V extends Enum<V> & Versioned> String annotationOf(
+ private <V extends Enum<V> & ComponentVersion> String annotationOf(
String phase,
Type reqType,
Class<?> annotationClass,
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/validation/TestVersionExtractor.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/validation/TestVersionExtractor.java
index 80133cf5de8..ba971e5bea3 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/validation/TestVersionExtractor.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/validation/TestVersionExtractor.java
@@ -24,8 +24,8 @@
import com.google.common.collect.ImmutableMap;
import java.lang.annotation.Annotation;
import java.util.Map;
+import org.apache.hadoop.hdds.ComponentVersion;
import org.apache.hadoop.ozone.ClientVersion;
-import org.apache.hadoop.ozone.Versioned;
import org.apache.hadoop.ozone.om.exceptions.OMException;
import org.apache.hadoop.ozone.om.upgrade.OMLayoutFeature;
import org.apache.hadoop.ozone.om.upgrade.OMLayoutVersionManager;
@@ -42,9 +42,10 @@ class TestVersionExtractor {
@EnumSource(OMLayoutFeature.class)
void testLayoutVersionExtractor(OMLayoutFeature layoutVersionValue) throws
OMException {
ValidationContext context = mock(ValidationContext.class);
- LayoutVersionManager layoutVersionManager = new
OMLayoutVersionManager(layoutVersionValue.version());
+ LayoutVersionManager layoutVersionManager = new
OMLayoutVersionManager(layoutVersionValue.serialize());
when(context.versionManager()).thenReturn(layoutVersionManager);
- Versioned version =
VersionExtractor.LAYOUT_VERSION_EXTRACTOR.extractVersion(null, context);
+ ComponentVersion version =
+ VersionExtractor.LAYOUT_VERSION_EXTRACTOR.extractVersion(null,
context);
assertEquals(layoutVersionValue, version);
}
@@ -52,8 +53,9 @@ void testLayoutVersionExtractor(OMLayoutFeature
layoutVersionValue) throws OMExc
@EnumSource(ClientVersion.class)
void testClientVersionExtractor(ClientVersion expectedClientVersion) {
OMRequest request = mock(OMRequest.class);
- when(request.getVersion()).thenReturn(expectedClientVersion.version());
- Versioned version =
VersionExtractor.CLIENT_VERSION_EXTRACTOR.extractVersion(request, null);
+ when(request.getVersion()).thenReturn(expectedClientVersion.serialize());
+ ComponentVersion version =
+ VersionExtractor.CLIENT_VERSION_EXTRACTOR.extractVersion(request,
null);
assertEquals(expectedClientVersion, version);
}
@@ -62,7 +64,8 @@ void testClientVersionExtractor(ClientVersion
expectedClientVersion) {
void testClientVersionExtractorForFutureValues(int futureVersion) {
OMRequest request = mock(OMRequest.class);
when(request.getVersion()).thenReturn(ClientVersion.CURRENT_VERSION +
futureVersion);
- Versioned version =
VersionExtractor.CLIENT_VERSION_EXTRACTOR.extractVersion(request, null);
+ ComponentVersion version =
+ VersionExtractor.CLIENT_VERSION_EXTRACTOR.extractVersion(request,
null);
assertEquals(ClientVersion.FUTURE_VERSION, version);
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/snapshot/TestSnapshotRequestAndResponse.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/snapshot/TestSnapshotRequestAndResponse.java
index 9c6f033b907..3653a324a97 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/snapshot/TestSnapshotRequestAndResponse.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/snapshot/TestSnapshotRequestAndResponse.java
@@ -22,7 +22,6 @@
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.framework;
import static org.mockito.Mockito.mock;
@@ -69,6 +68,7 @@
import org.apache.hadoop.ozone.om.upgrade.OMLayoutVersionManager;
import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos;
import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer;
+import org.apache.hadoop.ozone.upgrade.LayoutFeature;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.io.TempDir;
@@ -167,7 +167,7 @@ public void baseSetup() throws Exception {
when(ozoneManager.getAccessAuthorizer()).thenReturn(accessAuthorizer);
when(accessAuthorizer.isNative()).thenReturn(false);
OMLayoutVersionManager lvm = mock(OMLayoutVersionManager.class);
- when(lvm.isAllowed(anyString())).thenReturn(true);
+ when(lvm.isAllowed(any(LayoutFeature.class))).thenReturn(true);
when(ozoneManager.getVersionManager()).thenReturn(lvm);
AuditLogger auditLogger = mock(AuditLogger.class);
when(ozoneManager.getAuditLogger()).thenReturn(auditLogger);
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/upgrade/OMLayoutFeatureUtil.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/upgrade/OMLayoutFeatureUtil.java
index f6e0938ec27..f9e7f364c0a 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/upgrade/OMLayoutFeatureUtil.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/upgrade/OMLayoutFeatureUtil.java
@@ -18,11 +18,12 @@
package org.apache.hadoop.ozone.om.upgrade;
import static
org.apache.hadoop.ozone.om.upgrade.OMLayoutFeature.INITIAL_VERSION;
-import static org.mockito.Mockito.anyString;
+import static org.mockito.Mockito.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.io.IOException;
+import org.apache.hadoop.ozone.upgrade.LayoutFeature;
import org.apache.hadoop.ozone.upgrade.LayoutVersionManager;
/**
@@ -55,8 +56,9 @@ public String basicMethod() {
// instance of the layout version manager.
public LayoutVersionManager getOmVersionManager() throws IOException {
LayoutVersionManager mockLvm = mock(LayoutVersionManager.class);
- when(mockLvm.isAllowed(anyString())).thenReturn(false).thenReturn(true);
- when(mockLvm.getFeature(anyString())).thenReturn(INITIAL_VERSION);
+ when(mockLvm.isAllowed(any(LayoutFeature.class)))
+ .thenReturn(false)
+ .thenReturn(true);
return mockLvm;
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/upgrade/TestOMLayoutFeatureAspect.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/upgrade/TestOMLayoutFeatureAspect.java
index 457a978440f..a49df70bb0a 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/upgrade/TestOMLayoutFeatureAspect.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/upgrade/TestOMLayoutFeatureAspect.java
@@ -17,10 +17,9 @@
package org.apache.hadoop.ozone.om.upgrade;
-import static
org.apache.hadoop.ozone.om.upgrade.OMLayoutFeature.INITIAL_VERSION;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.mockito.Mockito.anyString;
+import static org.mockito.Mockito.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -29,6 +28,7 @@
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
import org.apache.hadoop.ozone.om.OzoneManager;
import org.apache.hadoop.ozone.om.exceptions.OMException;
+import org.apache.hadoop.ozone.upgrade.LayoutFeature;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.reflect.MethodSignature;
import org.junit.jupiter.api.BeforeEach;
@@ -82,8 +82,7 @@ public void testPreExecuteLayoutCheck() {
OzoneManager om = mock(OzoneManager.class);
OMLayoutVersionManager lvm = mock(OMLayoutVersionManager.class);
- when(lvm.isAllowed(anyString())).thenReturn(false);
- when(lvm.getFeature(anyString())).thenReturn(INITIAL_VERSION);
+ when(lvm.isAllowed(any(LayoutFeature.class))).thenReturn(false);
when(om.getVersionManager()).thenReturn(lvm);
MockOmRequest mockOmRequest = new MockOmRequest();
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/upgrade/TestOMUpgradeFinalizer.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/upgrade/TestOMUpgradeFinalizer.java
index 6346f5c51ee..27d6c8f3a7a 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/upgrade/TestOMUpgradeFinalizer.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/upgrade/TestOMUpgradeFinalizer.java
@@ -194,7 +194,7 @@ public void testFinalizationWithFailingUpgradeAction()
throws Exception {
OMUpgradeFinalizer finalizer = new OMUpgradeFinalizer(versionManager);
UpgradeException e = assertThrows(UpgradeException.class, () ->
finalizer.finalize(CLIENT_ID, om));
- assertThat(e.getMessage()).contains(lfs.iterator().next().name());
+ assertThat(e.getMessage()).contains(lfs.iterator().next().toString());
assertEquals(e.getResult(), LAYOUT_FEATURE_FINALIZATION_FAILED);
if (finalizer.isFinalizationDone()) {
when(versionManager.getUpgradeState()).thenReturn(FINALIZATION_DONE);
@@ -232,7 +232,7 @@ private void setupVersionManagerMockToFinalize(
private OMLayoutFeature mockFeature(String name, int version) {
OMLayoutFeature f = mock(OMLayoutFeature.class);
- lenient().when(f.name()).thenReturn(name);
+ lenient().when(f.toString()).thenReturn(name);
when(f.layoutVersion()).thenReturn(version);
return f;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]