This is an automated email from the ASF dual-hosted git repository.
errose28 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 19635689a53 HDDS-16153. DatanodeDetails should use HDDSVersion instead
of int (#10994)
19635689a53 is described below
commit 19635689a533c4a55a8cbd3fd5e663d9e9d76d2a
Author: Ethan Rose <[email protected]>
AuthorDate: Mon Aug 17 16:10:42 2026 -0400
HDDS-16153. DatanodeDetails should use HDDSVersion instead of int (#10994)
---
.../hadoop/hdds/protocol/DatanodeDetails.java | 26 +++++++++++-----------
.../hadoop/hdds/protocol/MockDatanodeDetails.java | 4 +++-
.../hadoop/hdds/protocol/TestDatanodeDetails.java | 13 +++++------
.../apache/hadoop/ozone/HddsDatanodeService.java | 10 +++++----
.../container/common/helpers/DatanodeIdYaml.java | 9 ++++----
.../common/helpers/TestContainerUtils.java | 3 ++-
...lockLocationProtocolServerSideTranslatorPB.java | 14 +++++-------
.../hdds/scm/cli/datanode/BasicDatanodeInfo.java | 2 +-
.../hadoop/hdds/scm/TestContainerOperations.java | 3 ++-
.../TestDNDataDistributionFinalization.java | 2 +-
.../TestScmDataDistributionFinalization.java | 2 +-
.../hadoop/hdds/upgrade/TestScmHAFinalization.java | 4 ++--
.../client/rpc/TestBlockDataStreamOutput.java | 7 +++---
.../ozone/om/service/TestBlockDeletionService.java | 2 +-
.../hadoop/ozone/UniformDatanodesFactory.java | 9 ++++----
.../hadoop/ozone/freon/DatanodeSimulator.java | 6 ++---
16 files changed, 60 insertions(+), 56 deletions(-)
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 e674931539c..27da3567310 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
@@ -87,8 +87,8 @@ public class DatanodeDetails extends NodeImpl implements
Comparable<DatanodeDeta
private String revision;
private volatile HddsProtos.NodeOperationalState persistedOpState;
private volatile long persistedOpStateExpiryEpochSec;
- private int initialVersion;
- private int currentVersion;
+ private HDDSVersion initialVersion;
+ private HDDSVersion currentVersion;
private DatanodeDetails(Builder b) {
super(b.hostName, b.networkLocation, NetConstants.NODE_COST_DEFAULT);
@@ -463,10 +463,10 @@ public static DatanodeDetails.Builder newBuilder(
datanodeDetailsProto.getPersistedOpStateExpiry());
}
if (datanodeDetailsProto.hasCurrentVersion()) {
- builder.setCurrentVersion(datanodeDetailsProto.getCurrentVersion());
+
builder.setCurrentVersion(HDDSVersion.deserialize(datanodeDetailsProto.getCurrentVersion()));
} else {
// fallback to version 1 if not present
-
builder.setCurrentVersion(HDDSVersion.SEPARATE_RATIS_PORTS_AVAILABLE.serialize());
+ builder.setCurrentVersion(HDDSVersion.SEPARATE_RATIS_PORTS_AVAILABLE);
}
return builder;
}
@@ -603,7 +603,7 @@ public HddsProtos.DatanodeDetailsProto.Builder
toProtoBuilder(
}
}
- builder.setCurrentVersion(versionOverride != null ?
versionOverride.serialize() : currentVersion);
+ builder.setCurrentVersion(versionOverride != null ?
versionOverride.serialize() : currentVersion.serialize());
return builder;
}
@@ -635,22 +635,22 @@ public ExtendedDatanodeDetailsProto
getExtendedProtoBufMessage() {
* Note: Datanode initial version is not passed to the client due to no use
case. See HDDS-9884
* @return the version this datanode was initially created with
*/
- public int getInitialVersion() {
+ public HDDSVersion getInitialVersion() {
return initialVersion;
}
- public void setInitialVersion(int initialVersion) {
+ public void setInitialVersion(HDDSVersion initialVersion) {
this.initialVersion = initialVersion;
}
/**
* @return the version this datanode was last started with
*/
- public int getCurrentVersion() {
+ public HDDSVersion getCurrentVersion() {
return currentVersion;
}
- public void setCurrentVersion(int currentVersion) {
+ public void setCurrentVersion(HDDSVersion currentVersion) {
this.currentVersion = currentVersion;
}
@@ -734,8 +734,8 @@ public static final class Builder {
private String revision;
private HddsProtos.NodeOperationalState persistedOpState;
private long persistedOpStateExpiryEpochSec = 0;
- private int initialVersion;
- private int currentVersion = HDDSVersion.SOFTWARE_VERSION.serialize();
+ private HDDSVersion initialVersion = HDDSVersion.DEFAULT_VERSION;
+ private HDDSVersion currentVersion = HDDSVersion.DEFAULT_VERSION;
/**
* Default private constructor. To create Builder instance use
@@ -951,12 +951,12 @@ public Builder setPersistedOpStateExpiry(long expiry) {
return this;
}
- public Builder setInitialVersion(int v) {
+ public Builder setInitialVersion(HDDSVersion v) {
this.initialVersion = v;
return this;
}
- public Builder setCurrentVersion(int v) {
+ public Builder setCurrentVersion(HDDSVersion v) {
this.currentVersion = v;
return this;
}
diff --git
a/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/protocol/MockDatanodeDetails.java
b/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/protocol/MockDatanodeDetails.java
index 8d1424248f8..bb6847d5a89 100644
---
a/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/protocol/MockDatanodeDetails.java
+++
b/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/protocol/MockDatanodeDetails.java
@@ -21,6 +21,7 @@
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
+import org.apache.hadoop.hdds.HDDSVersion;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
import org.apache.ozone.test.GenericTestUtils;
@@ -95,7 +96,8 @@ public static DatanodeDetails
createDatanodeDetails(DatanodeID id,
.setIpAddress(ipAddress)
.setNetworkLocation(networkLocation)
.setPersistedOpState(HddsProtos.NodeOperationalState.IN_SERVICE)
- .setPersistedOpStateExpiry(0);
+ .setPersistedOpStateExpiry(0)
+ .setCurrentVersion(HDDSVersion.SOFTWARE_VERSION);
for (DatanodeDetails.Port.Name name : ALL_PORTS) {
dn.addPort(DatanodeDetails.newPort(name, port));
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 6401067c85b..6af228d52d3 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
@@ -59,11 +59,11 @@ void testRequiredPortsProto() {
Set<Port.Name> requiredPorts = Stream.of(Port.Name.STANDALONE,
Port.Name.RATIS)
.collect(Collectors.toSet());
HddsProtos.DatanodeDetailsProto proto =
-
subject.toProto(ClientVersion.deserialize(subject.getCurrentVersion()),
requiredPorts);
+ subject.toProto(ClientVersion.CURRENT, requiredPorts);
assertPorts(proto, ImmutableSet.copyOf(requiredPorts));
HddsProtos.DatanodeDetailsProto ioPortProto =
-
subject.toProto(ClientVersion.deserialize(subject.getCurrentVersion()),
Name.IO_PORTS);
+ subject.toProto(ClientVersion.CURRENT, Name.IO_PORTS);
assertPorts(ioPortProto, ImmutableSet.copyOf(Name.IO_PORTS));
}
@@ -79,14 +79,13 @@ public void testNewBuilderCurrentVersion() {
protoBuilder.clearCurrentVersion();
DatanodeDetails dn2 =
DatanodeDetails.newBuilder(protoBuilder.build()).build();
assertEquals(HDDSVersion.SEPARATE_RATIS_PORTS_AVAILABLE,
- HDDSVersion.deserialize(dn2.getCurrentVersion()));
+ dn2.getCurrentVersion());
// test that if the current version is set, it is used
- protoBuilder =
- dn.toProtoBuilder(DEFAULT_VERSION, requiredPorts);
+ protoBuilder = dn.toProtoBuilder(DEFAULT_VERSION, requiredPorts);
+
protoBuilder.setCurrentVersion(HDDSVersion.COMBINED_PUTBLOCK_WRITECHUNK_RPC.serialize());
DatanodeDetails dn3 =
DatanodeDetails.newBuilder(protoBuilder.build()).build();
- assertEquals(HDDSVersion.SOFTWARE_VERSION,
- HDDSVersion.deserialize(dn3.getCurrentVersion()));
+ assertEquals(HDDSVersion.COMBINED_PUTBLOCK_WRITECHUNK_RPC,
dn3.getCurrentVersion());
}
public static void assertPorts(HddsProtos.DatanodeDetailsProto dn,
diff --git
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/HddsDatanodeService.java
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/HddsDatanodeService.java
index 8a6e2f66c80..274de843b9b 100644
---
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/HddsDatanodeService.java
+++
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/HddsDatanodeService.java
@@ -836,14 +836,16 @@ private String reconfigScmNodes(String value) {
/**
* Returns the initial version of the datanode.
*/
- private int getInitialVersion() {
- return conf.getInt(TESTING_DATANODE_VERSION_INITIAL,
HDDSVersion.SOFTWARE_VERSION.serialize());
+ private HDDSVersion getInitialVersion() {
+ return HDDSVersion.deserialize(
+ conf.getInt(TESTING_DATANODE_VERSION_INITIAL,
HDDSVersion.SOFTWARE_VERSION.serialize()));
}
/**
* Returns the current version of the datanode.
*/
- private int getCurrentVersion() {
- return conf.getInt(TESTING_DATANODE_VERSION_CURRENT,
HDDSVersion.SOFTWARE_VERSION.serialize());
+ private HDDSVersion getCurrentVersion() {
+ return HDDSVersion.deserialize(
+ conf.getInt(TESTING_DATANODE_VERSION_CURRENT,
HDDSVersion.SOFTWARE_VERSION.serialize()));
}
}
diff --git
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/DatanodeIdYaml.java
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/DatanodeIdYaml.java
index cf9b1a68e09..00d232adc18 100644
---
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/DatanodeIdYaml.java
+++
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/DatanodeIdYaml.java
@@ -24,6 +24,7 @@
import java.util.Map;
import java.util.UUID;
import org.apache.commons.collections4.MapUtils;
+import org.apache.hadoop.hdds.HDDSVersion;
import org.apache.hadoop.hdds.conf.ConfigurationSource;
import org.apache.hadoop.hdds.protocol.DatanodeDetails;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
@@ -109,8 +110,8 @@ public static DatanodeDetails readDatanodeIdFile(File path)
}
}
- builder.setInitialVersion(datanodeDetailsYaml.getInitialVersion())
- .setCurrentVersion(datanodeDetailsYaml.getCurrentVersion());
+
builder.setInitialVersion(HDDSVersion.deserialize(datanodeDetailsYaml.getInitialVersion()))
+
.setCurrentVersion(HDDSVersion.deserialize(datanodeDetailsYaml.getCurrentVersion()));
datanodeDetails = builder.build();
}
@@ -248,7 +249,7 @@ private static DatanodeDetailsYaml getDatanodeDetailsYaml(
persistedOpString,
datanodeDetails.getPersistedOpStateExpiryEpochSec(),
VersionedDatanodeFeatures.DatanodePorts.getPortsToPersist(datanodeDetails,
conf),
- datanodeDetails.getInitialVersion(),
- datanodeDetails.getCurrentVersion());
+ datanodeDetails.getInitialVersion().serialize(),
+ datanodeDetails.getCurrentVersion().serialize());
}
}
diff --git
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/helpers/TestContainerUtils.java
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/helpers/TestContainerUtils.java
index a2ef8f53798..9735c5eeb13 100644
---
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/helpers/TestContainerUtils.java
+++
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/helpers/TestContainerUtils.java
@@ -43,6 +43,7 @@
import java.nio.file.Files;
import java.util.UUID;
import org.apache.commons.lang3.RandomUtils;
+import org.apache.hadoop.hdds.HDDSVersion;
import org.apache.hadoop.hdds.HddsConfigKeys;
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
import org.apache.hadoop.hdds.fs.SpaceUsageSource;
@@ -152,7 +153,7 @@ public void testDatanodeIDPersistent(@TempDir File tempDir)
throws Exception {
}
assertDetailsEquals(id1,
ContainerUtils.readDatanodeDetailsFrom(protoFile, conf));
- id1.setInitialVersion(1);
+ id1.setInitialVersion(HDDSVersion.SEPARATE_RATIS_PORTS_AVAILABLE);
assertWriteRead(tempDir, id1);
}
}
diff --git
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/protocol/TestScmBlockLocationProtocolServerSideTranslatorPB.java
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/protocol/TestScmBlockLocationProtocolServerSideTranslatorPB.java
index df81ddd688b..e0cd8d389b0 100644
---
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/protocol/TestScmBlockLocationProtocolServerSideTranslatorPB.java
+++
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/protocol/TestScmBlockLocationProtocolServerSideTranslatorPB.java
@@ -68,9 +68,6 @@
*/
class TestScmBlockLocationProtocolServerSideTranslatorPB {
- /** The version each source datanode reports as its own software version. */
- private static final int SOFTWARE_VERSION =
HDDSVersion.SOFTWARE_VERSION.serialize();
-
private ScmBlockLocationProtocol impl;
private NodeManager nodeManager;
private ScmVersionManager versionManager;
@@ -87,7 +84,7 @@ void setUp() throws Exception {
nodes = new ArrayList<>();
for (int i = 0; i < 3; i++) {
DatanodeDetails dn = randomDatanodeDetails();
- dn.setCurrentVersion(SOFTWARE_VERSION);
+ dn.setCurrentVersion(HDDSVersion.SOFTWARE_VERSION);
nodes.add(dn);
}
@@ -174,7 +171,7 @@ void preFinalizedClusterClampsClientVersionDown() throws
Exception {
@Test
void finalizedClusterForwardsRealVersion() throws Exception {
- assertAllMembersHaveVersion(SOFTWARE_VERSION, allocateAndGetMembers());
+ assertAllMembersHaveVersion(HDDSVersion.SOFTWARE_VERSION.serialize(),
allocateAndGetMembers());
}
@Test
@@ -235,7 +232,7 @@ void blocksOnDistinctPipelinesGetOwnVersion() throws
Exception {
List<DatanodeDetails> otherNodes = new ArrayList<>();
for (int i = 0; i < 3; i++) {
DatanodeDetails dn = randomDatanodeDetails();
- dn.setCurrentVersion(SOFTWARE_VERSION);
+ dn.setCurrentVersion(HDDSVersion.SOFTWARE_VERSION);
setDatanodeApparentVersion(dn, HDDSVersion.STREAM_BLOCK_SUPPORT);
otherNodes.add(dn);
}
@@ -247,7 +244,8 @@ void blocksOnDistinctPipelinesGetOwnVersion() throws
Exception {
AllocateScmBlockResponseProto response = allocate(2);
assertEquals(2, response.getBlocksCount());
- assertAllMembersHaveVersion(SOFTWARE_VERSION,
response.getBlocks(0).getPipeline().getMembersList());
+ assertAllMembersHaveVersion(HDDSVersion.SOFTWARE_VERSION.serialize(),
+ response.getBlocks(0).getPipeline().getMembersList());
assertEquals(otherNodes.size(),
response.getBlocks(1).getPipeline().getMembersCount());
for (DatanodeDetailsProto member :
response.getBlocks(1).getPipeline().getMembersList()) {
assertEquals(HDDSVersion.STREAM_BLOCK_SUPPORT.serialize(),
member.getCurrentVersion());
@@ -263,7 +261,7 @@ void doesNotMutateSourcePipelineDatanodes() throws
Exception {
// The in-memory DatanodeDetails (shared with SCM internal state) must keep
// their real software version; only the outgoing proto is overridden.
for (DatanodeDetails dn : nodes) {
- assertEquals(SOFTWARE_VERSION, dn.getCurrentVersion());
+ assertEquals(HDDSVersion.SOFTWARE_VERSION, dn.getCurrentVersion());
}
}
}
diff --git
a/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/BasicDatanodeInfo.java
b/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/BasicDatanodeInfo.java
index a439494cdd4..c3bfaaacd2c 100644
---
a/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/BasicDatanodeInfo.java
+++
b/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/BasicDatanodeInfo.java
@@ -120,7 +120,7 @@ public long getSetupTime() {
@JsonProperty(index = 30)
public int getCurrentVersion() {
- return dn.getCurrentVersion();
+ return dn.getCurrentVersion().serialize();
}
@JsonProperty(index = 35)
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestContainerOperations.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestContainerOperations.java
index 8f46d73e17b..1d0bdbea156 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestContainerOperations.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestContainerOperations.java
@@ -33,6 +33,7 @@
import java.util.List;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.RandomUtils;
+import org.apache.hadoop.hdds.HDDSVersion;
import org.apache.hadoop.hdds.client.BlockID;
import org.apache.hadoop.hdds.client.ECReplicationConfig;
import org.apache.hadoop.hdds.client.RatisReplicationConfig;
@@ -169,7 +170,7 @@ public void testDatanodeUsageInfoCompatibility() throws
IOException {
.getScmNodeManager()
.getAllNodes()
.get(0);
- dn.setCurrentVersion(0);
+ dn.setCurrentVersion(HDDSVersion.DEFAULT_VERSION);
List<HddsProtos.DatanodeUsageInfoProto> usageInfoList =
storageClient.getDatanodeUsageInfo(
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestDNDataDistributionFinalization.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestDNDataDistributionFinalization.java
index a33af09e11f..38738fcc8e7 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestDNDataDistributionFinalization.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestDNDataDistributionFinalization.java
@@ -100,7 +100,7 @@ public void init(OzoneConfiguration conf) throws Exception {
.setNumOfOzoneManagers(1)
.setNumDatanodes(NUM_DATANODES)
.setDatanodeFactory(UniformDatanodesFactory.newBuilder()
- .setApparentVersion(HDDSLayoutFeature.INITIAL_VERSION.serialize())
+ .setApparentVersion(HDDSLayoutFeature.INITIAL_VERSION)
.build());
this.cluster = clusterBuilder.build();
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestScmDataDistributionFinalization.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestScmDataDistributionFinalization.java
index 81fb21ebcde..b3264137626 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestScmDataDistributionFinalization.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestScmDataDistributionFinalization.java
@@ -127,7 +127,7 @@ public void init(OzoneConfiguration conf) throws Exception {
.setSCMConfigurator(configurator)
.setNumDatanodes(NUM_DATANODES)
.setDatanodeFactory(UniformDatanodesFactory.newBuilder()
- .setApparentVersion(HDDSLayoutFeature.INITIAL_VERSION.serialize())
+ .setApparentVersion(HDDSLayoutFeature.INITIAL_VERSION)
.build());
this.cluster = clusterBuilder.build();
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestScmHAFinalization.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestScmHAFinalization.java
index cbf3bcece0d..b77741519f3 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestScmHAFinalization.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestScmHAFinalization.java
@@ -75,7 +75,7 @@ public void init(OzoneConfiguration conf, int
numInactiveSCMs) throws Exception
.setSCMConfigurator(configurator)
.setNumDatanodes(NUM_DATANODES)
.setDatanodeFactory(UniformDatanodesFactory.newBuilder()
- .setApparentVersion(HDDSLayoutFeature.INITIAL_VERSION.serialize())
+ .setApparentVersion(HDDSLayoutFeature.INITIAL_VERSION)
.build());
this.cluster = clusterBuilder.build();
@@ -104,7 +104,7 @@ public void
testFinalizedDatanodesShutDownWithPrefinalizedScm() throws Exception
.setNumOfOzoneManagers(1)
.setNumDatanodes(NUM_DATANODES)
.setDatanodeFactory(UniformDatanodesFactory.newBuilder()
- .setApparentVersion(HDDSVersion.SOFTWARE_VERSION.serialize())
+ .setApparentVersion(HDDSVersion.SOFTWARE_VERSION)
.build());
// Prevent terminateDatanode() from calling System.exit(1) and killing the
test JVM.
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 6be6a99a658..97958c324e5 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
@@ -135,7 +135,7 @@ static MiniOzoneCluster createCluster() throws IOException,
.setNumDatanodes(5)
.setDatanodeFactory(UniformDatanodesFactory.newBuilder()
.setCurrentVersion(DN_OLD_VERSION)
- .setApparentVersion(HDDSVersion.SOFTWARE_VERSION.serialize())
+ .setApparentVersion(HDDSVersion.SOFTWARE_VERSION)
.build())
.build();
cluster.waitForPipelineTobeReady(HddsProtos.ReplicationFactor.THREE,
@@ -343,7 +343,7 @@ public void testDatanodeVersion(boolean flushDelay) throws
Exception {
for (HddsDatanodeService dn : dns) {
DatanodeDetails details = dn.getDatanodeDetails();
assertEquals(DN_OLD_VERSION,
- HDDSVersion.deserialize(details.getCurrentVersion()));
+ details.getCurrentVersion());
}
String keyName = getKeyName();
@@ -356,8 +356,7 @@ public void testDatanodeVersion(boolean flushDelay) throws
Exception {
// pipeline, which here is the software version the datanodes have
finalized to.
List<DatanodeDetails> streamDnDetails = stream.getPipeline().getNodes();
for (DatanodeDetails details : streamDnDetails) {
- assertEquals(HDDSVersion.SOFTWARE_VERSION,
- HDDSVersion.deserialize(details.getCurrentVersion()));
+ assertEquals(HDDSVersion.SOFTWARE_VERSION,
details.getCurrentVersion());
}
}
}
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/service/TestBlockDeletionService.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/service/TestBlockDeletionService.java
index 0c3bc3b37bc..a0fd40b5163 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/service/TestBlockDeletionService.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/service/TestBlockDeletionService.java
@@ -93,7 +93,7 @@ public static void init() throws Exception {
cluster = MiniOzoneCluster.newBuilder(conf)
.setNumDatanodes(9)
.setDatanodeFactory(UniformDatanodesFactory.newBuilder()
- .setApparentVersion(HBASE_SUPPORT.serialize()).build())
+ .setApparentVersion(HBASE_SUPPORT).build())
.build();
cluster.waitForClusterToBeReady();
scmClient = cluster.getStorageContainerLocationClient();
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 411574d57b1..d1e90d8c346 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
@@ -45,6 +45,7 @@
import java.util.Objects;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicInteger;
+import org.apache.hadoop.hdds.ComponentVersion;
import org.apache.hadoop.hdds.HDDSVersion;
import org.apache.hadoop.hdds.conf.ConfigurationTarget;
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
@@ -60,7 +61,7 @@ public class UniformDatanodesFactory implements
MiniOzoneCluster.DatanodeFactory
private final int numDataVolumes;
private final String reservedSpace;
- private final Integer apparentVersion;
+ private final ComponentVersion apparentVersion;
private final HDDSVersion currentVersion;
protected UniformDatanodesFactory(Builder builder) {
@@ -104,7 +105,7 @@ public OzoneConfiguration apply(OzoneConfiguration conf)
throws IOException {
if (apparentVersion != null) {
DatanodeStorage layoutStorage = new DatanodeStorage(
- dnConf, UUID.randomUUID().toString(), apparentVersion);
+ dnConf, UUID.randomUUID().toString(), apparentVersion.serialize());
layoutStorage.initialize();
}
@@ -140,7 +141,7 @@ public static class Builder {
private int numDataVolumes = 1;
private String reservedSpace;
- private Integer apparentVersion;
+ private ComponentVersion apparentVersion;
private HDDSVersion currentVersion;
/**
@@ -164,7 +165,7 @@ public Builder setReservedSpace(String reservedSpace) {
return this;
}
- public Builder setApparentVersion(int apparentVersion) {
+ public Builder setApparentVersion(ComponentVersion apparentVersion) {
this.apparentVersion = apparentVersion;
return this;
}
diff --git
a/hadoop-ozone/vapor/src/main/java/org/apache/hadoop/ozone/freon/DatanodeSimulator.java
b/hadoop-ozone/vapor/src/main/java/org/apache/hadoop/ozone/freon/DatanodeSimulator.java
index 4e46d68d8a0..183c80668f8 100644
---
a/hadoop-ozone/vapor/src/main/java/org/apache/hadoop/ozone/freon/DatanodeSimulator.java
+++
b/hadoop-ozone/vapor/src/main/java/org/apache/hadoop/ozone/freon/DatanodeSimulator.java
@@ -461,8 +461,8 @@ private DatanodeDetails
randomDatanodeDetails(ConfigurationSource config)
DatanodeDetails details = DatanodeDetails.newBuilder()
.setID(DatanodeID.randomID())
.build();
- details.setInitialVersion(HDDSVersion.SOFTWARE_VERSION.serialize());
- details.setCurrentVersion(HDDSVersion.SOFTWARE_VERSION.serialize());
+ details.setInitialVersion(HDDSVersion.SOFTWARE_VERSION);
+ details.setCurrentVersion(HDDSVersion.SOFTWARE_VERSION);
details.setHostName(HddsUtils.getHostName(config));
details.setIpAddress(randomIp());
details.setStandalonePort(0);
@@ -471,7 +471,7 @@ private DatanodeDetails
randomDatanodeDetails(ConfigurationSource config)
details.setVersion(HDDS_VERSION_INFO.getVersion());
details.setSetupTime(Time.now());
details.setRevision(HDDS_VERSION_INFO.getRevision());
- details.setCurrentVersion(HDDSVersion.SOFTWARE_VERSION.serialize());
+ details.setCurrentVersion(HDDSVersion.SOFTWARE_VERSION);
return details;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]