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 d782c841917 HDDS-14753. Do not prematurely serialize client version
(#10936)
d782c841917 is described below
commit d782c8419173331b500bf8a432d3bf44d37063f6
Author: Ethan Rose <[email protected]>
AuthorDate: Thu Aug 13 10:35:41 2026 -0400
HDDS-14753. Do not prematurely serialize client version (#10936)
---
.../hadoop/hdds/protocol/DatanodeDetails.java | 14 +++----
.../common/helpers/ContainerWithPipeline.java | 3 +-
.../org/apache/hadoop/hdds/scm/net/InnerNode.java | 3 +-
.../java/org/apache/hadoop/hdds/scm/net/Node.java | 3 +-
.../apache/hadoop/hdds/scm/pipeline/Pipeline.java | 9 +++--
.../hadoop/hdds/protocol/TestDatanodeDetails.java | 13 ++++---
.../hadoop/hdds/scm/pipeline/TestPipeline.java | 10 ++---
.../diskbalancer/DiskBalancerProtocolServer.java | 3 +-
.../container/common/helpers/MoveDataNodePair.java | 4 +-
.../apache/hadoop/hdds/scm/net/InnerNodeImpl.java | 3 +-
.../protocol/StorageContainerLocationProtocol.java | 9 +++--
...inerLocationProtocolClientSideTranslatorPB.java | 8 ++--
.../hadoop/hdds/scm/node/DatanodeUsageInfo.java | 5 ++-
.../hdds/scm/pipeline/PipelineManagerImpl.java | 2 +-
...lockLocationProtocolServerSideTranslatorPB.java | 14 ++++---
...inerLocationProtocolServerSideTranslatorPB.java | 44 +++++++++++-----------
.../hdds/scm/server/SCMClientProtocolServer.java | 11 +++---
.../hdds/scm/node/TestDatanodeUsageInfo.java | 4 +-
.../hdds/scm/pipeline/MockPipelineManager.java | 4 +-
.../TestPipelineDatanodesIntersection.java | 2 +-
.../scm/pipeline/TestPipelinePlacementPolicy.java | 6 +--
.../scm/pipeline/TestPipelineStateManagerImpl.java | 40 ++++++++++----------
.../scm/pipeline/TestRatisPipelineProvider.java | 16 ++++----
.../scm/pipeline/TestSimplePipelineProvider.java | 4 +-
...lockLocationProtocolServerSideTranslatorPB.java | 2 +-
.../scm/server/TestSCMBlockProtocolServer.java | 4 +-
.../hdds/scm/cli/ContainerOperationClient.java | 8 ++--
.../apache/hadoop/ozone/fsck/ContainerMapper.java | 2 +-
.../ozone/debug/om/TestContainerToKeyMapping.java | 5 ++-
.../ozone/om/helpers/KeyInfoWithVolumeContext.java | 3 +-
.../apache/hadoop/ozone/om/helpers/OmKeyInfo.java | 16 ++++----
.../hadoop/ozone/om/helpers/OmKeyLocationInfo.java | 5 ++-
.../ozone/om/helpers/OmKeyLocationInfoGroup.java | 3 +-
.../ozone/om/helpers/OmMultipartPartInfo.java | 2 +-
.../hadoop/ozone/om/helpers/OzoneFileStatus.java | 3 +-
.../hadoop/ozone/om/helpers/RepeatedOmKeyInfo.java | 6 +--
...OzoneManagerProtocolClientSideTranslatorPB.java | 6 +--
.../hadoop/ozone/om/helpers/TestOmKeyInfo.java | 6 +--
.../AbstractTestStorageDistributionEndpoint.java | 4 +-
.../container/TestScmApplyTransactionFailure.java | 2 +-
.../org/apache/hadoop/ozone/debug/TestLDBCli.java | 2 +-
.../TestContainerCommandReconciliation.java | 8 ++--
.../hadoop/ozone/om/OmMetadataManagerImpl.java | 2 +-
.../ozone/om/request/file/OMFileCreateRequest.java | 7 +++-
.../request/file/OMFileCreateRequestWithFSO.java | 3 +-
.../om/request/file/OMRecoverLeaseRequest.java | 6 ++-
.../om/request/key/OMAllocateBlockRequest.java | 4 +-
.../ozone/om/request/key/OMKeyCreateRequest.java | 6 ++-
.../om/request/key/OMKeyCreateRequestWithFSO.java | 3 +-
.../S3MultipartUploadCommitPartRequest.java | 4 +-
.../S3MultipartUploadCompleteRequest.java | 4 +-
.../ozone/om/service/DirectoryDeletingService.java | 4 +-
.../ozone/om/service/KeyDeletingService.java | 2 +-
.../ozone/om/service/SnapshotDeletingService.java | 4 +-
.../protocolPB/OzoneManagerRequestHandler.java | 36 +++++++++---------
.../ozone/om/request/OMRequestTestUtils.java | 4 +-
.../om/request/file/TestOMRecoverLeaseRequest.java | 2 +-
.../TestOMDirectoriesPurgeRequestAndResponse.java | 4 +-
.../TestOMSnapshotMoveTableKeysResponse.java | 4 +-
.../om/service/TestSnapshotDeletingService.java | 4 +-
.../protocolPB/TestOzoneManagerRequestHandler.java | 9 +++--
.../hadoop/ozone/recon/api/NodeEndpoint.java | 2 +-
.../ozone/recon/scm/ReconPipelineManager.java | 2 +-
.../impl/StorageContainerServiceProviderImpl.java | 2 +-
.../hadoop/ozone/recon/api/TestEndpoints.java | 5 ++-
65 files changed, 239 insertions(+), 205 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 98b51ef705a..e674931539c 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
@@ -514,24 +514,24 @@ public static DatanodeDetails getFromProtoBuf(
*/
@JsonIgnore
public HddsProtos.DatanodeDetailsProto getProtoBufMessage() {
- return toProto(ClientVersion.CURRENT.serialize());
+ return toProto(ClientVersion.CURRENT);
}
- public HddsProtos.DatanodeDetailsProto toProto(int clientVersion) {
+ public HddsProtos.DatanodeDetailsProto toProto(ClientVersion clientVersion) {
return toProtoBuilder(clientVersion, Collections.emptySet()).build();
}
- public HddsProtos.DatanodeDetailsProto toProto(int clientVersion,
Set<Port.Name> filterPorts) {
+ public HddsProtos.DatanodeDetailsProto toProto(ClientVersion clientVersion,
Set<Port.Name> filterPorts) {
return toProtoBuilder(clientVersion, filterPorts).build();
}
- public HddsProtos.DatanodeDetailsProto toProto(int clientVersion,
Set<Port.Name> filterPorts,
+ public HddsProtos.DatanodeDetailsProto toProto(ClientVersion clientVersion,
Set<Port.Name> filterPorts,
ComponentVersion versionOverride) {
return toProtoBuilder(clientVersion, filterPorts, versionOverride).build();
}
public HddsProtos.DatanodeDetailsProto.Builder toProtoBuilder(
- int clientVersion, Set<Port.Name> filterPorts) {
+ ClientVersion clientVersion, Set<Port.Name> filterPorts) {
return toProtoBuilder(clientVersion, filterPorts, null);
}
@@ -546,7 +546,7 @@ public HddsProtos.DatanodeDetailsProto.Builder
toProtoBuilder(
* @return A {@link HddsProtos.DatanodeDetailsProto.Builder} Object.
*/
public HddsProtos.DatanodeDetailsProto.Builder toProtoBuilder(
- int clientVersion, Set<Port.Name> filterPorts, ComponentVersion
versionOverride) {
+ ClientVersion clientVersion, Set<Port.Name> filterPorts,
ComponentVersion versionOverride) {
final HddsProtos.DatanodeIDProto idProto = id.toProto();
final HddsProtos.DatanodeDetailsProto.Builder builder =
@@ -1185,7 +1185,7 @@ public void setRevision(String rev) {
@Override
public HddsProtos.NetworkNode toProtobuf(
- int clientVersion) {
+ ClientVersion clientVersion) {
return HddsProtos.NetworkNode.newBuilder()
.setDatanodeDetails(toProtoBuilder(clientVersion,
Collections.emptySet()).build())
.build();
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/container/common/helpers/ContainerWithPipeline.java
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/container/common/helpers/ContainerWithPipeline.java
index 8db875c181e..fad799a25d5 100644
---
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/container/common/helpers/ContainerWithPipeline.java
+++
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/container/common/helpers/ContainerWithPipeline.java
@@ -24,6 +24,7 @@
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
import org.apache.hadoop.hdds.scm.container.ContainerInfo;
import org.apache.hadoop.hdds.scm.pipeline.Pipeline;
+import org.apache.hadoop.ozone.ClientVersion;
/**
* Class wraps ozone container info.
@@ -53,7 +54,7 @@ public static ContainerWithPipeline
fromProtobuf(HddsProtos.ContainerWithPipelin
Pipeline.getFromProtobuf(allocatedContainer.getPipeline()));
}
- public HddsProtos.ContainerWithPipeline getProtobuf(int clientVersion) {
+ public HddsProtos.ContainerWithPipeline getProtobuf(ClientVersion
clientVersion) {
return HddsProtos.ContainerWithPipeline.newBuilder()
.setContainerInfo(getContainerInfo().getProtobuf())
.setPipeline(getPipeline().getProtobufMessage(clientVersion,
Name.IO_PORTS))
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/net/InnerNode.java
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/net/InnerNode.java
index ac9ec514a80..9f1cf8acdf5 100644
---
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/net/InnerNode.java
+++
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/net/InnerNode.java
@@ -20,6 +20,7 @@
import java.util.Collection;
import java.util.List;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
+import org.apache.hadoop.ozone.ClientVersion;
/**
* The interface defines an inner node in a network topology.
@@ -92,7 +93,7 @@ Node getLeaf(int leafIndex, List<String> excludedScopes,
Collection<Node> excludedNodes, int ancestorGen);
@Override
- HddsProtos.NetworkNode toProtobuf(int clientVersion);
+ HddsProtos.NetworkNode toProtobuf(ClientVersion clientVersion);
@Override
boolean equals(Object o);
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/net/Node.java
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/net/Node.java
index 849111161bc..177f1a93c50 100644
--- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/net/Node.java
+++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/net/Node.java
@@ -18,6 +18,7 @@
package org.apache.hadoop.hdds.scm.net;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
+import org.apache.hadoop.ozone.ClientVersion;
/**
* The interface defines a node in a network topology.
@@ -130,7 +131,7 @@ public interface Node {
boolean isDescendant(String nodePath);
default HddsProtos.NetworkNode toProtobuf(
- int clientVersion) {
+ ClientVersion clientVersion) {
return null;
}
}
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/pipeline/Pipeline.java
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/pipeline/Pipeline.java
index 5675787c003..2dcf74f6a86 100644
---
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/pipeline/Pipeline.java
+++
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/pipeline/Pipeline.java
@@ -68,7 +68,7 @@ public final class Pipeline {
private static final Codec<Pipeline> CODEC = new DelegatedCodec<>(
Proto2Codec.get(HddsProtos.Pipeline.getDefaultInstance()),
Pipeline::getFromProtobufSetCreationTimestamp,
- p -> p.getProtobufMessage(ClientVersion.CURRENT.serialize()),
+ p -> p.getProtobufMessage(ClientVersion.CURRENT),
Pipeline.class,
DelegatedCodec.CopyType.UNSUPPORTED);
@@ -364,15 +364,16 @@ public ReplicationConfig getReplicationConfig() {
return replicationConfig;
}
- public HddsProtos.Pipeline getProtobufMessage(int clientVersion) {
+ public HddsProtos.Pipeline getProtobufMessage(ClientVersion clientVersion) {
return getProtobufMessage(clientVersion, Collections.emptySet());
}
- public HddsProtos.Pipeline getProtobufMessage(int clientVersion,
Set<DatanodeDetails.Port.Name> filterPorts) {
+ public HddsProtos.Pipeline getProtobufMessage(ClientVersion clientVersion,
+ Set<DatanodeDetails.Port.Name> filterPorts) {
return getProtobufMessage(clientVersion, filterPorts, null);
}
- public HddsProtos.Pipeline getProtobufMessage(int clientVersion,
Set<DatanodeDetails.Port.Name> filterPorts,
+ public HddsProtos.Pipeline getProtobufMessage(ClientVersion clientVersion,
Set<DatanodeDetails.Port.Name> filterPorts,
ComponentVersion versionOverride) {
List<HddsProtos.DatanodeDetailsProto> members = new ArrayList<>();
List<Integer> memberReplicaIndexes = new ArrayList<>();
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 0f592c71d63..6401067c85b 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
@@ -32,6 +32,7 @@
import org.apache.hadoop.hdds.protocol.DatanodeDetails.Port;
import org.apache.hadoop.hdds.protocol.DatanodeDetails.Port.Name;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
+import org.apache.hadoop.ozone.ClientVersion;
import org.junit.jupiter.api.Test;
/**
@@ -44,11 +45,11 @@ void protoIncludesNewPortsOnlyForV1() {
DatanodeDetails subject = MockDatanodeDetails.randomDatanodeDetails();
HddsProtos.DatanodeDetailsProto proto =
- subject.toProto(DEFAULT_VERSION.serialize());
+ subject.toProto(DEFAULT_VERSION);
assertPorts(proto, V0_PORTS);
HddsProtos.DatanodeDetailsProto protoV1 =
- subject.toProto(VERSION_HANDLES_UNKNOWN_DN_PORTS.serialize());
+ subject.toProto(VERSION_HANDLES_UNKNOWN_DN_PORTS);
assertPorts(protoV1, ALL_PORTS);
}
@@ -58,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(subject.getCurrentVersion(), requiredPorts);
+
subject.toProto(ClientVersion.deserialize(subject.getCurrentVersion()),
requiredPorts);
assertPorts(proto, ImmutableSet.copyOf(requiredPorts));
HddsProtos.DatanodeDetailsProto ioPortProto =
- subject.toProto(subject.getCurrentVersion(), Name.IO_PORTS);
+
subject.toProto(ClientVersion.deserialize(subject.getCurrentVersion()),
Name.IO_PORTS);
assertPorts(ioPortProto, ImmutableSet.copyOf(Name.IO_PORTS));
}
@@ -74,7 +75,7 @@ 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.serialize(), requiredPorts);
+ dn.toProtoBuilder(DEFAULT_VERSION, requiredPorts);
protoBuilder.clearCurrentVersion();
DatanodeDetails dn2 =
DatanodeDetails.newBuilder(protoBuilder.build()).build();
assertEquals(HDDSVersion.SEPARATE_RATIS_PORTS_AVAILABLE,
@@ -82,7 +83,7 @@ public void testNewBuilderCurrentVersion() {
// test that if the current version is set, it is used
protoBuilder =
- dn.toProtoBuilder(DEFAULT_VERSION.serialize(), requiredPorts);
+ dn.toProtoBuilder(DEFAULT_VERSION, requiredPorts);
DatanodeDetails dn3 =
DatanodeDetails.newBuilder(protoBuilder.build()).build();
assertEquals(HDDSVersion.SOFTWARE_VERSION,
HDDSVersion.deserialize(dn3.getCurrentVersion()));
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 c9318a9ef58..185f82fbe3c 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.serialize());
+ subject.getProtobufMessage(DEFAULT_VERSION);
for (HddsProtos.DatanodeDetailsProto dn : proto.getMembersList()) {
assertPorts(dn, V0_PORTS);
}
HddsProtos.Pipeline protoV1 = subject.getProtobufMessage(
- VERSION_HANDLES_UNKNOWN_DN_PORTS.serialize());
+ VERSION_HANDLES_UNKNOWN_DN_PORTS);
for (HddsProtos.DatanodeDetailsProto dn : protoV1.getMembersList()) {
assertPorts(dn, ALL_PORTS);
}
@@ -64,14 +64,14 @@ public void getProtobufMessageEC() throws IOException {
Pipeline subject = MockPipeline.createPipeline(3);
//when EC config is empty/null
- HddsProtos.Pipeline protobufMessage = subject.getProtobufMessage(1);
+ HddsProtos.Pipeline protobufMessage =
subject.getProtobufMessage(VERSION_HANDLES_UNKNOWN_DN_PORTS);
assertEquals(0, protobufMessage.getEcReplicationConfig().getData());
//when EC config is NOT empty
subject = MockPipeline.createEcPipeline();
- protobufMessage = subject.getProtobufMessage(1);
+ protobufMessage =
subject.getProtobufMessage(VERSION_HANDLES_UNKNOWN_DN_PORTS);
assertEquals(3, protobufMessage.getEcReplicationConfig().getData());
assertEquals(2, protobufMessage.getEcReplicationConfig().getParity());
@@ -80,7 +80,7 @@ public void getProtobufMessageEC() throws IOException {
@Test
public void testReplicaIndexesSerialisedCorrectly() {
Pipeline pipeline = MockPipeline.createEcPipeline();
- HddsProtos.Pipeline protobufMessage = pipeline.getProtobufMessage(1);
+ HddsProtos.Pipeline protobufMessage =
pipeline.getProtobufMessage(VERSION_HANDLES_UNKNOWN_DN_PORTS);
Pipeline reloadedPipeline = Pipeline.getFromProtobuf(protobufMessage);
for (DatanodeDetails dn : pipeline.getNodes()) {
diff --git
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/diskbalancer/DiskBalancerProtocolServer.java
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/diskbalancer/DiskBalancerProtocolServer.java
index 770f7b67414..88028da7a92 100644
---
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/diskbalancer/DiskBalancerProtocolServer.java
+++
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/diskbalancer/DiskBalancerProtocolServer.java
@@ -27,6 +27,7 @@
import
org.apache.hadoop.hdds.protocol.proto.HddsProtos.DiskBalancerConfigurationProto;
import
org.apache.hadoop.hdds.protocol.proto.HddsProtos.DiskBalancerRunningStatus;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos.NodeOperationalState;
+import org.apache.hadoop.ozone.ClientVersion;
import
org.apache.hadoop.ozone.container.common.statemachine.DatanodeStateMachine;
import org.apache.hadoop.ozone.container.ozoneimpl.OzoneContainer;
import org.slf4j.Logger;
@@ -70,7 +71,7 @@ public DatanodeDiskBalancerInfoProto
getDiskBalancerInfo(GetDiskBalancerInfoRequ
DatanodeDetails datanodeDetails =
datanodeStateMachine.getDatanodeDetails();
return DatanodeDiskBalancerInfoProto.newBuilder()
- .setNode(datanodeDetails.toProto(request.getClientVersion()))
+
.setNode(datanodeDetails.toProto(ClientVersion.deserialize(request.getClientVersion())))
.setCurrentVolumeDensitySum(info.getVolumeDataDensity())
.setDiskBalancerConf(DiskBalancerConfigurationProto.newBuilder()
.setThreshold(info.getThreshold())
diff --git
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/container/common/helpers/MoveDataNodePair.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/container/common/helpers/MoveDataNodePair.java
index bc43c2a5422..95f8fee2a19 100644
---
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/container/common/helpers/MoveDataNodePair.java
+++
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/container/common/helpers/MoveDataNodePair.java
@@ -35,7 +35,7 @@ public class MoveDataNodePair {
private static final Codec<MoveDataNodePair> CODEC = new DelegatedCodec<>(
Proto2Codec.get(MoveDataNodePairProto.getDefaultInstance()),
MoveDataNodePair::getFromProtobuf,
- pair -> pair.getProtobufMessage(ClientVersion.CURRENT.serialize()),
+ pair -> pair.getProtobufMessage(ClientVersion.CURRENT),
MoveDataNodePair.class,
DelegatedCodec.CopyType.SHALLOW);
@@ -66,7 +66,7 @@ public DatanodeDetails getSrc() {
return src;
}
- public MoveDataNodePairProto getProtobufMessage(int clientVersion) {
+ public MoveDataNodePairProto getProtobufMessage(ClientVersion clientVersion)
{
return MoveDataNodePairProto.newBuilder()
.setSrc(src.toProto(clientVersion))
.setTgt(tgt.toProto(clientVersion))
diff --git
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/net/InnerNodeImpl.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/net/InnerNodeImpl.java
index c38a8800b5d..383dfd20d58 100644
---
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/net/InnerNodeImpl.java
+++
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/net/InnerNodeImpl.java
@@ -31,6 +31,7 @@
import java.util.Map;
import java.util.Objects;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
+import org.apache.hadoop.ozone.ClientVersion;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -460,7 +461,7 @@ public Node getLeaf(int leafIndex, List<String>
excludedScopes,
@Override
public HddsProtos.NetworkNode toProtobuf(
- int clientVersion) {
+ ClientVersion clientVersion) {
HddsProtos.InnerNode.Builder innerNode =
HddsProtos.InnerNode.newBuilder()
diff --git
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocol/StorageContainerLocationProtocol.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocol/StorageContainerLocationProtocol.java
index e4254fcec1c..9831ced682b 100644
---
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocol/StorageContainerLocationProtocol.java
+++
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocol/StorageContainerLocationProtocol.java
@@ -47,6 +47,7 @@
import org.apache.hadoop.hdds.scm.container.ReplicationManagerReport;
import
org.apache.hadoop.hdds.scm.container.common.helpers.ContainerWithPipeline;
import org.apache.hadoop.hdds.scm.pipeline.Pipeline;
+import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.upgrade.UpgradeFinalization.StatusAndMessages;
import org.apache.hadoop.security.KerberosInfo;
import org.apache.hadoop.security.token.Token;
@@ -124,7 +125,7 @@ ContainerWithPipeline getContainerWithPipeline(long
containerID)
* @throws IOException
*/
List<HddsProtos.SCMContainerReplicaProto> getContainerReplicas(
- long containerId, int clientVersion) throws IOException;
+ long containerId, ClientVersion clientVersion) throws IOException;
/**
* Ask SCM the location of a batch of containers. SCM responds with a group
of
@@ -283,7 +284,7 @@ ContainerListResult listContainer(long startContainerID,
*/
List<HddsProtos.Node> queryNode(HddsProtos.NodeOperationalState opState,
HddsProtos.NodeState state, HddsProtos.QueryScope queryScope,
- String poolName, int clientVersion) throws IOException;
+ String poolName, ClientVersion clientVersion) throws IOException;
HddsProtos.Node queryNode(UUID uuid) throws IOException;
@@ -497,7 +498,7 @@ StartContainerBalancerResponseProto startContainerBalancer(
* @see org.apache.hadoop.ozone.ClientVersion
*/
List<HddsProtos.DatanodeUsageInfoProto> getDatanodeUsageInfo(
- String address, String uuid, int clientVersion) throws IOException;
+ String address, String uuid, ClientVersion clientVersion) throws
IOException;
/**
* Get usage information of most or least used datanodes.
@@ -511,7 +512,7 @@ List<HddsProtos.DatanodeUsageInfoProto>
getDatanodeUsageInfo(
* @see org.apache.hadoop.ozone.ClientVersion
*/
List<HddsProtos.DatanodeUsageInfoProto> getDatanodeUsageInfo(
- boolean mostUsed, int count, int clientVersion) throws IOException;
+ boolean mostUsed, int count, ClientVersion clientVersion) throws
IOException;
@Deprecated
StatusAndMessages finalizeScmUpgrade(String upgradeClientID)
diff --git
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/StorageContainerLocationProtocolClientSideTranslatorPB.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/StorageContainerLocationProtocolClientSideTranslatorPB.java
index 292488f221d..f7eca4223bd 100644
---
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/StorageContainerLocationProtocolClientSideTranslatorPB.java
+++
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/StorageContainerLocationProtocolClientSideTranslatorPB.java
@@ -342,7 +342,7 @@ public ContainerWithPipeline getContainerWithPipeline(long
containerID)
*/
@Override
public List<HddsProtos.SCMContainerReplicaProto> getContainerReplicas(
- long containerID, int clientVersion) throws IOException {
+ long containerID, ClientVersion clientVersion) throws IOException {
Preconditions.checkState(containerID >= 0,
"Container ID cannot be negative");
@@ -564,7 +564,7 @@ public Map<String, List<ContainerID>>
getContainersOnDecomNode(DatanodeDetails d
public List<HddsProtos.Node> queryNode(
HddsProtos.NodeOperationalState opState, HddsProtos.NodeState
nodeState, HddsProtos.QueryScope queryScope, String poolName,
- int clientVersion) throws IOException {
+ ClientVersion clientVersion) throws IOException {
// TODO : We support only cluster wide query right now. So ignoring
checking
// queryScope and poolName
NodeQueryRequestProto.Builder builder = NodeQueryRequestProto.newBuilder()
@@ -1136,7 +1136,7 @@ public ContainerBalancerStatusInfoResponseProto
getContainerBalancerStatusInfo()
*/
@Override
public List<HddsProtos.DatanodeUsageInfoProto> getDatanodeUsageInfo(
- String address, String uuid, int clientVersion) throws IOException {
+ String address, String uuid, ClientVersion clientVersion) throws
IOException {
DatanodeUsageInfoRequestProto request =
DatanodeUsageInfoRequestProto.newBuilder()
@@ -1162,7 +1162,7 @@ public List<HddsProtos.DatanodeUsageInfoProto>
getDatanodeUsageInfo(
*/
@Override
public List<HddsProtos.DatanodeUsageInfoProto> getDatanodeUsageInfo(
- boolean mostUsed, int count, int clientVersion) throws IOException {
+ boolean mostUsed, int count, ClientVersion clientVersion) throws
IOException {
DatanodeUsageInfoRequestProto request =
DatanodeUsageInfoRequestProto.newBuilder()
.setMostUsed(mostUsed)
diff --git
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/DatanodeUsageInfo.java
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/DatanodeUsageInfo.java
index d6ac9edfaeb..977f59278e4 100644
---
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/DatanodeUsageInfo.java
+++
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/DatanodeUsageInfo.java
@@ -22,6 +22,7 @@
import org.apache.hadoop.hdds.protocol.DatanodeID;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos.DatanodeUsageInfoProto;
import org.apache.hadoop.hdds.scm.container.placement.metrics.SCMNodeStat;
+import org.apache.hadoop.ozone.ClientVersion;
/**
* Bundles datanode details with usage statistics.
@@ -221,11 +222,11 @@ public int hashCode() {
*
* @return Protobuf HddsProtos.DatanodeUsageInfo
*/
- public DatanodeUsageInfoProto toProto(int clientVersion) {
+ public DatanodeUsageInfoProto toProto(ClientVersion clientVersion) {
return toProtoBuilder(clientVersion).build();
}
- private DatanodeUsageInfoProto.Builder toProtoBuilder(int clientVersion) {
+ private DatanodeUsageInfoProto.Builder toProtoBuilder(ClientVersion
clientVersion) {
DatanodeUsageInfoProto.Builder builder =
DatanodeUsageInfoProto.newBuilder();
diff --git
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineManagerImpl.java
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineManagerImpl.java
index e176da2d711..6ea92bb2a14 100644
---
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineManagerImpl.java
+++
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineManagerImpl.java
@@ -268,7 +268,7 @@ private void checkIfPipelineCreationIsAllowed(
private void addPipelineToManager(Pipeline pipeline)
throws IOException {
HddsProtos.Pipeline pipelineProto = pipeline.getProtobufMessage(
- ClientVersion.CURRENT.serialize());
+ ClientVersion.CURRENT);
acquireWriteLock();
try {
stateManager.addPipeline(pipelineProto);
diff --git
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/protocol/ScmBlockLocationProtocolServerSideTranslatorPB.java
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/protocol/ScmBlockLocationProtocolServerSideTranslatorPB.java
index 9fb688fb8fe..b2fb1f897af 100644
---
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/protocol/ScmBlockLocationProtocolServerSideTranslatorPB.java
+++
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/protocol/ScmBlockLocationProtocolServerSideTranslatorPB.java
@@ -60,6 +60,7 @@
import org.apache.hadoop.hdds.server.OzoneProtocolMessageDispatcher;
import org.apache.hadoop.hdds.upgrade.HDDSLayoutFeature;
import org.apache.hadoop.hdds.utils.ProtocolMessageMetrics;
+import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.common.BlockGroup;
import org.apache.hadoop.ozone.common.DeleteBlockGroupResult;
import org.slf4j.Logger;
@@ -127,6 +128,7 @@ public SCMBlockLocationResponse send(RpcController
controller,
private SCMBlockLocationResponse processMessage(
SCMBlockLocationRequest request) throws ServiceException {
+ final ClientVersion clientVersion =
ClientVersion.deserialize(request.getVersion());
SCMBlockLocationResponse.Builder response = createSCMBlockResponse(
request.getCmdType(),
request.getTraceID());
@@ -146,7 +148,7 @@ private SCMBlockLocationResponse processMessage(
}
}
response.setAllocateScmBlockResponse(allocateScmBlock(
- request.getAllocateScmBlockRequest(), request.getVersion()));
+ request.getAllocateScmBlockRequest(), clientVersion));
break;
case DeleteScmKeyBlocks:
response.setDeleteScmKeyBlocksResponse(
@@ -162,12 +164,12 @@ private SCMBlockLocationResponse processMessage(
break;
case SortDatanodes:
response.setSortDatanodesResponse(sortDatanodes(
- request.getSortDatanodesRequest(), request.getVersion()
+ request.getSortDatanodesRequest(), clientVersion
));
break;
case GetClusterTree:
response.setGetClusterTreeResponse(
- getClusterTree(request.getVersion()));
+ getClusterTree(clientVersion));
break;
default:
// Should never happen
@@ -196,7 +198,7 @@ private Status exceptionToResponseStatus(IOException ex) {
}
public AllocateScmBlockResponseProto allocateScmBlock(
- AllocateScmBlockRequestProto request, int clientVersion)
+ AllocateScmBlockRequestProto request, ClientVersion clientVersion)
throws IOException {
List<AllocatedBlock> allocatedBlocks =
impl.allocateBlock(request.getSize(),
@@ -307,7 +309,7 @@ public HddsProtos.AddScmResponseProto getAddSCMResponse(
}
public SortDatanodesResponseProto sortDatanodes(
- SortDatanodesRequestProto request, int clientVersion)
+ SortDatanodesRequestProto request, ClientVersion clientVersion)
throws ServiceException {
SortDatanodesResponseProto.Builder resp =
SortDatanodesResponseProto.newBuilder();
@@ -326,7 +328,7 @@ public SortDatanodesResponseProto sortDatanodes(
}
}
- public GetClusterTreeResponseProto getClusterTree(int clientVersion)
+ public GetClusterTreeResponseProto getClusterTree(ClientVersion
clientVersion)
throws IOException {
GetClusterTreeResponseProto.Builder resp =
GetClusterTreeResponseProto.newBuilder();
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 c95d5145215..b9012a744d9 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
@@ -228,8 +228,7 @@ public ScmContainerLocationResponse
submitRequest(RpcController controller,
// this server interface, this should be removed and solved via new
// annotated interceptors.
boolean checkResponseForECRepConfig = false;
- if (!ClientVersion.ERASURE_CODING_SUPPORT.isSupportedBy(
- request.getVersion())) {
+ if
(!ClientVersion.ERASURE_CODING_SUPPORT.isSupportedBy(request.getVersion())) {
if (request.getCmdType() == GetContainer
|| request.getCmdType() == ListContainer
|| request.getCmdType() == GetContainerWithPipeline
@@ -419,6 +418,7 @@ private void
disallowECReplicationConfigInGetPipelineResponse(
@SuppressWarnings("checkstyle:methodlength")
public ScmContainerLocationResponse processRequest(
ScmContainerLocationRequest request) throws ServiceException {
+ final ClientVersion clientVersion =
ClientVersion.deserialize(request.getVersion());
try {
switch (request.getCmdType()) {
case AllocateContainer:
@@ -426,7 +426,7 @@ public ScmContainerLocationResponse processRequest(
.setCmdType(request.getCmdType())
.setStatus(Status.OK)
.setContainerResponse(allocateContainer(
- request.getContainerRequest(), request.getVersion()))
+ request.getContainerRequest(), clientVersion))
.build();
case GetContainer:
return ScmContainerLocationResponse.newBuilder()
@@ -448,7 +448,7 @@ public ScmContainerLocationResponse processRequest(
.setStatus(Status.OK)
.setGetContainerWithPipelineResponse(getContainerWithPipeline(
request.getGetContainerWithPipelineRequest(),
- request.getVersion()))
+ clientVersion))
.build();
case GetContainerWithPipelineBatch:
return ScmContainerLocationResponse.newBuilder()
@@ -457,7 +457,7 @@ public ScmContainerLocationResponse processRequest(
.setGetContainerWithPipelineBatchResponse(
getContainerWithPipelineBatch(
request.getGetContainerWithPipelineBatchRequest(),
- request.getVersion()))
+ clientVersion))
.build();
case GetExistContainerWithPipelinesInBatch:
return ScmContainerLocationResponse.newBuilder()
@@ -466,7 +466,7 @@ public ScmContainerLocationResponse processRequest(
.setGetExistContainerWithPipelinesInBatchResponse(
getExistContainerWithPipelinesInBatch(
request.getGetExistContainerWithPipelinesInBatchRequest(),
- request.getVersion()))
+ clientVersion))
.build();
case ListContainer:
return ScmContainerLocationResponse.newBuilder()
@@ -480,7 +480,7 @@ public ScmContainerLocationResponse processRequest(
.setCmdType(request.getCmdType())
.setStatus(Status.OK)
.setNodeQueryResponse(queryNode(request.getNodeQueryRequest(),
- request.getVersion()))
+ clientVersion))
.build();
case SingleNodeQuery:
return ScmContainerLocationResponse.newBuilder()
@@ -512,14 +512,14 @@ public ScmContainerLocationResponse processRequest(
.setCmdType(request.getCmdType())
.setStatus(Status.OK)
.setPipelineResponse(allocatePipeline(
- request.getPipelineRequest(), request.getVersion()))
+ request.getPipelineRequest(), clientVersion))
.build();
case ListPipelines:
return ScmContainerLocationResponse.newBuilder()
.setCmdType(request.getCmdType())
.setStatus(Status.OK)
.setListPipelineResponse(listPipelines(
- request.getListPipelineRequest(), request.getVersion()))
+ request.getListPipelineRequest(), clientVersion))
.build();
case ActivatePipeline:
return ScmContainerLocationResponse.newBuilder()
@@ -624,7 +624,7 @@ public ScmContainerLocationResponse processRequest(
.setCmdType(request.getCmdType())
.setStatus(Status.OK)
.setGetPipelineResponse(getPipeline(
- request.getGetPipelineRequest(), request.getVersion()))
+ request.getGetPipelineRequest(), clientVersion))
.build();
case GetSafeModeRuleStatuses:
return ScmContainerLocationResponse.newBuilder()
@@ -680,7 +680,7 @@ public ScmContainerLocationResponse processRequest(
.setStatus(Status.OK)
.setDatanodeUsageInfoResponse(getDatanodeUsageInfo(
request.getDatanodeUsageInfoRequest(),
- request.getVersion()))
+ clientVersion))
.build();
case GetContainerCount:
return ScmContainerLocationResponse.newBuilder()
@@ -702,7 +702,7 @@ public ScmContainerLocationResponse processRequest(
.setStatus(Status.OK)
.setGetContainerReplicasResponse(getContainerReplicas(
request.getGetContainerReplicasRequest(),
- request.getVersion()))
+ clientVersion))
.build();
case GetFailedDeletedBlocksTransaction:
return ScmContainerLocationResponse.newBuilder()
@@ -801,7 +801,7 @@ public ScmContainerLocationResponse processRequest(
}
public GetContainerReplicasResponseProto getContainerReplicas(
- GetContainerReplicasRequestProto request, int clientVersion)
+ GetContainerReplicasRequestProto request, ClientVersion clientVersion)
throws IOException {
List<HddsProtos.SCMContainerReplicaProto> replicas
= impl.getContainerReplicas(request.getContainerID(), clientVersion);
@@ -810,7 +810,7 @@ public GetContainerReplicasResponseProto
getContainerReplicas(
}
public ContainerResponseProto allocateContainer(ContainerRequestProto
request,
- int clientVersion) throws IOException {
+ ClientVersion clientVersion) throws IOException {
ReplicationConfig replicationConfig =
ReplicationConfig.fromProto(request.getReplicationType(),
request.getReplicationFactor(),
request.getEcReplicationConfig()
@@ -844,7 +844,7 @@ public GetContainerTokenResponseProto getContainerToken(
public GetContainerWithPipelineResponseProto getContainerWithPipeline(
GetContainerWithPipelineRequestProto request,
- int clientVersion) throws IOException {
+ ClientVersion clientVersion) throws IOException {
ContainerWithPipeline container = impl
.getContainerWithPipeline(request.getContainerID());
return GetContainerWithPipelineResponseProto.newBuilder()
@@ -855,7 +855,7 @@ public GetContainerWithPipelineResponseProto
getContainerWithPipeline(
public GetContainerWithPipelineBatchResponseProto
getContainerWithPipelineBatch(
GetContainerWithPipelineBatchRequestProto request,
- int clientVersion) throws IOException {
+ ClientVersion clientVersion) throws IOException {
List<ContainerWithPipeline> containers = impl
.getContainerWithPipelineBatch(request.getContainerIDsList());
GetContainerWithPipelineBatchResponseProto.Builder builder =
@@ -869,7 +869,7 @@ public GetContainerWithPipelineResponseProto
getContainerWithPipeline(
public GetExistContainerWithPipelinesInBatchResponseProto
getExistContainerWithPipelinesInBatch(
GetExistContainerWithPipelinesInBatchRequestProto request,
- int clientVersion) throws IOException {
+ ClientVersion clientVersion) throws IOException {
List<ContainerWithPipeline> containers = impl
.getExistContainerWithPipelinesInBatch(request.getContainerIDsList());
GetExistContainerWithPipelinesInBatchResponseProto.Builder builder =
@@ -949,7 +949,7 @@ public SCMDeleteContainerResponseProto deleteContainer(
public NodeQueryResponseProto queryNode(
StorageContainerLocationProtocolProtos.NodeQueryRequestProto request,
- int clientVersion) throws IOException {
+ ClientVersion clientVersion) throws IOException {
HddsProtos.NodeOperationalState opState = null;
HddsProtos.NodeState nodeState = null;
@@ -999,7 +999,7 @@ public SCMCloseContainerResponseProto closeContainer(
public PipelineResponseProto allocatePipeline(
StorageContainerLocationProtocolProtos.PipelineRequestProto request,
- int clientVersion) throws IOException {
+ ClientVersion clientVersion) throws IOException {
Pipeline pipeline = impl.createReplicationPipeline(
request.getReplicationType(), request.getReplicationFactor(),
HddsProtos.NodePool.getDefaultInstance());
@@ -1013,7 +1013,7 @@ public PipelineResponseProto allocatePipeline(
}
public ListPipelineResponseProto listPipelines(
- ListPipelineRequestProto request, int clientVersion)
+ ListPipelineRequestProto request, ClientVersion clientVersion)
throws IOException {
ListPipelineResponseProto.Builder builder = ListPipelineResponseProto
.newBuilder();
@@ -1026,7 +1026,7 @@ public ListPipelineResponseProto listPipelines(
public GetPipelineResponseProto getPipeline(
GetPipelineRequestProto request,
- int clientVersion) throws IOException {
+ ClientVersion clientVersion) throws IOException {
GetPipelineResponseProto.Builder builder = GetPipelineResponseProto
.newBuilder();
Pipeline pipeline = impl.getPipeline(request.getPipelineID());
@@ -1370,7 +1370,7 @@ public StartMaintenanceNodesResponseProto
startMaintenanceNodes(
public DatanodeUsageInfoResponseProto getDatanodeUsageInfo(
StorageContainerLocationProtocolProtos.DatanodeUsageInfoRequestProto
- request, int clientVersion) throws IOException {
+ request, ClientVersion clientVersion) throws IOException {
List<HddsProtos.DatanodeUsageInfoProto> infoList;
// get info by ip or uuid
diff --git
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/SCMClientProtocolServer.java
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/SCMClientProtocolServer.java
index e78395fc44c..5a2cd16b088 100644
---
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/SCMClientProtocolServer.java
+++
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/SCMClientProtocolServer.java
@@ -117,6 +117,7 @@
import org.apache.hadoop.ipc_.ProtobufRpcEngine;
import org.apache.hadoop.ipc_.RPC;
import org.apache.hadoop.ipc_.Server;
+import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.OzoneConsts;
import org.apache.hadoop.ozone.audit.AuditAction;
import org.apache.hadoop.ozone.audit.AuditEventStatus;
@@ -358,7 +359,7 @@ public ContainerWithPipeline getContainerWithPipeline(long
containerID)
@Override
public List<HddsProtos.SCMContainerReplicaProto> getContainerReplicas(
- long containerId, int clientVersion) throws IOException {
+ long containerId, ClientVersion clientVersion) throws IOException {
List<HddsProtos.SCMContainerReplicaProto> results = new ArrayList<>();
Map<String, String> auditMap = new HashMap<>();
auditMap.put("containerId", String.valueOf(containerId));
@@ -681,7 +682,7 @@ public Map<String, List<ContainerID>>
getContainersOnDecomNode(DatanodeDetails d
@Override
public List<HddsProtos.Node> queryNode(
HddsProtos.NodeOperationalState opState, HddsProtos.NodeState state,
- HddsProtos.QueryScope queryScope, String poolName, int clientVersion)
+ HddsProtos.QueryScope queryScope, String poolName, ClientVersion
clientVersion)
throws IOException {
final Map<String, String> auditMap = Maps.newHashMap();
auditMap.put("opState", String.valueOf(opState));
@@ -1550,7 +1551,7 @@ public ContainerBalancerStatusInfoResponseProto
getContainerBalancerStatusInfo()
*/
@Override
public List<HddsProtos.DatanodeUsageInfoProto> getDatanodeUsageInfo(
- String address, String uuid, int clientVersion) throws IOException {
+ String address, String uuid, ClientVersion clientVersion) throws
IOException {
final Map<String, String> auditMap = Maps.newHashMap();
auditMap.put("address", address);
@@ -1595,7 +1596,7 @@ public List<HddsProtos.DatanodeUsageInfoProto>
getDatanodeUsageInfo(
* @return Usage info such as capacity, SCMUsed, and remaining space.
*/
private HddsProtos.DatanodeUsageInfoProto getUsageInfoFromDatanodeDetails(
- DatanodeDetails node, int clientVersion) {
+ DatanodeDetails node, ClientVersion clientVersion) {
DatanodeUsageInfo usageInfo = scm.getScmNodeManager().getUsageInfo(node);
return usageInfo.toProto(clientVersion);
}
@@ -1614,7 +1615,7 @@ private HddsProtos.DatanodeUsageInfoProto
getUsageInfoFromDatanodeDetails(
*/
@Override
public List<HddsProtos.DatanodeUsageInfoProto> getDatanodeUsageInfo(
- boolean mostUsed, int count, int clientVersion)
+ boolean mostUsed, int count, ClientVersion clientVersion)
throws IOException, IllegalArgumentException {
final Map<String, String> auditMap = Maps.newHashMap();
diff --git
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestDatanodeUsageInfo.java
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestDatanodeUsageInfo.java
index 142e2638cf8..bb02756b4d2 100644
---
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestDatanodeUsageInfo.java
+++
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestDatanodeUsageInfo.java
@@ -41,7 +41,7 @@ void testToProtoDoesNotIncludeFilesystemFieldsByDefault() {
);
DatanodeUsageInfo info = new DatanodeUsageInfo(dn, stat);
- DatanodeUsageInfoProto proto =
info.toProto(ClientVersion.CURRENT.serialize());
+ DatanodeUsageInfoProto proto = info.toProto(ClientVersion.CURRENT);
assertThat(proto.hasFsCapacity()).isFalse();
assertThat(proto.hasFsAvailable()).isFalse();
@@ -59,7 +59,7 @@ void testToProtoIncludesFilesystemFieldsWhenPresent() {
DatanodeUsageInfo info = new DatanodeUsageInfo(dn, stat);
info.setFilesystemUsage(2000L, 1500L);
- DatanodeUsageInfoProto proto =
info.toProto(ClientVersion.CURRENT.serialize());
+ DatanodeUsageInfoProto proto = info.toProto(ClientVersion.CURRENT);
assertThat(proto.hasFsCapacity()).isTrue();
assertThat(proto.hasFsAvailable()).isTrue();
diff --git
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/MockPipelineManager.java
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/MockPipelineManager.java
index f8abec6c499..918a310e312 100644
---
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/MockPipelineManager.java
+++
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/MockPipelineManager.java
@@ -87,7 +87,7 @@ public Pipeline createPipeline(ReplicationConfig
replicationConfig,
}
stateManager.addPipeline(pipeline.getProtobufMessage(
- ClientVersion.CURRENT.serialize()));
+ ClientVersion.CURRENT));
return pipeline;
}
@@ -111,7 +111,7 @@ public Pipeline buildECPipeline(ReplicationConfig
replicationConfig,
public void addEcPipeline(Pipeline pipeline)
throws IOException {
stateManager.addPipeline(pipeline.getProtobufMessage(
- ClientVersion.CURRENT.serialize()));
+ ClientVersion.CURRENT));
}
@Override
diff --git
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineDatanodesIntersection.java
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineDatanodesIntersection.java
index 5a642369d96..87211083109 100644
---
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineDatanodesIntersection.java
+++
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineDatanodesIntersection.java
@@ -110,7 +110,7 @@ public void testPipelineDatanodesIntersection(int nodeCount,
Pipeline pipeline = provider.create(RatisReplicationConfig.getInstance(
ReplicationFactor.THREE));
HddsProtos.Pipeline pipelineProto = pipeline.getProtobufMessage(
- ClientVersion.CURRENT.serialize());
+ ClientVersion.CURRENT);
stateManager.addPipeline(pipelineProto);
nodeManager.addPipeline(pipeline);
List<Pipeline> overlapPipelines = RatisPipelineUtils
diff --git
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelinePlacementPolicy.java
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelinePlacementPolicy.java
index e3100c217b6..103bd388ff1 100644
---
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelinePlacementPolicy.java
+++
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelinePlacementPolicy.java
@@ -292,7 +292,7 @@ public void testPickLowestLoadAnchor() throws IOException,
TimeoutException {
.setNodes(nodes)
.build();
HddsProtos.Pipeline pipelineProto = pipeline.getProtobufMessage(
- ClientVersion.CURRENT.serialize());
+ ClientVersion.CURRENT);
nodeManager.addPipeline(pipeline);
stateManager.addPipeline(pipelineProto);
} catch (SCMException e) {
@@ -648,7 +648,7 @@ private void insertHeavyNodesIntoNodeManager(
.build();
pipelineProto = pipeline.getProtobufMessage(
- ClientVersion.CURRENT.serialize());
+ ClientVersion.CURRENT);
nodeManager.addPipeline(pipeline);
stateManager.addPipeline(pipelineProto);
pipelineCount++;
@@ -791,7 +791,7 @@ private void
createPipelineWithReplicationConfig(List<DatanodeDetails> dnList,
.build();
HddsProtos.Pipeline pipelineProto = pipeline.getProtobufMessage(
- ClientVersion.CURRENT.serialize());
+ ClientVersion.CURRENT);
nodeManager.addPipeline(pipeline);
stateManager.addPipeline(pipelineProto);
}
diff --git
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineStateManagerImpl.java
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineStateManagerImpl.java
index fc447a74e91..977c4bcb16f 100644
---
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineStateManagerImpl.java
+++
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineStateManagerImpl.java
@@ -110,14 +110,14 @@ private Pipeline
createDummyPipeline(HddsProtos.ReplicationType type,
public void testAddAndGetPipeline() throws IOException, TimeoutException {
Exception e = assertThrows(SCMException.class,
() -> stateManager.addPipeline(createDummyPipeline(0)
- .getProtobufMessage(ClientVersion.CURRENT.serialize())));
+ .getProtobufMessage(ClientVersion.CURRENT)));
// replication factor and number of nodes in the pipeline do not match
assertThat(e.getMessage()).contains("do not match");
// add a pipeline
Pipeline pipeline = createDummyPipeline(1);
HddsProtos.Pipeline pipelineProto = pipeline
- .getProtobufMessage(ClientVersion.CURRENT.serialize());
+ .getProtobufMessage(ClientVersion.CURRENT);
try {
stateManager.addPipeline(pipelineProto);
@@ -144,11 +144,11 @@ public void testGetPipelines() throws IOException,
TimeoutException {
Set<HddsProtos.Pipeline> pipelines = new HashSet<>();
HddsProtos.Pipeline pipeline = createDummyPipeline(1).getProtobufMessage(
- ClientVersion.CURRENT.serialize());
+ ClientVersion.CURRENT);
stateManager.addPipeline(pipeline);
pipelines.add(pipeline);
pipeline = createDummyPipeline(1).getProtobufMessage(
- ClientVersion.CURRENT.serialize());
+ ClientVersion.CURRENT);
stateManager.addPipeline(pipeline);
pipelines.add(pipeline);
@@ -179,19 +179,19 @@ public void testGetPipelinesByTypeAndFactor()
// 5 pipelines in allocated state for each type and factor
HddsProtos.Pipeline pipeline =
createDummyPipeline(type, factor, factor.getNumber())
- .getProtobufMessage(ClientVersion.CURRENT.serialize());
+ .getProtobufMessage(ClientVersion.CURRENT);
stateManager.addPipeline(pipeline);
pipelines.add(pipeline);
// 5 pipelines in open state for each type and factor
pipeline = createDummyPipeline(type, factor, factor.getNumber())
- .getProtobufMessage(ClientVersion.CURRENT.serialize());
+ .getProtobufMessage(ClientVersion.CURRENT);
stateManager.addPipeline(pipeline);
pipelines.add(pipeline);
// 5 pipelines in closed state for each type and factor
pipeline = createDummyPipeline(type, factor, factor.getNumber())
- .getProtobufMessage(ClientVersion.CURRENT.serialize());
+ .getProtobufMessage(ClientVersion.CURRENT);
stateManager.addPipeline(pipeline);
pipelines.add(pipeline);
}
@@ -232,20 +232,20 @@ public void testGetPipelinesByTypeFactorAndState()
// 5 pipelines in allocated state for each type and factor
HddsProtos.Pipeline pipeline =
createDummyPipeline(type, factor, factor.getNumber())
- .getProtobufMessage(ClientVersion.CURRENT.serialize());
+ .getProtobufMessage(ClientVersion.CURRENT);
stateManager.addPipeline(pipeline);
pipelines.add(pipeline);
// 5 pipelines in open state for each type and factor
pipeline = createDummyPipeline(type, factor, factor.getNumber())
- .getProtobufMessage(ClientVersion.CURRENT.serialize());
+ .getProtobufMessage(ClientVersion.CURRENT);
stateManager.addPipeline(pipeline);
openPipeline(pipeline);
pipelines.add(pipeline);
// 5 pipelines in dormant state for each type and factor
pipeline = createDummyPipeline(type, factor, factor.getNumber())
- .getProtobufMessage(ClientVersion.CURRENT.serialize());
+ .getProtobufMessage(ClientVersion.CURRENT);
stateManager.addPipeline(pipeline);
openPipeline(pipeline);
deactivatePipeline(pipeline);
@@ -253,7 +253,7 @@ public void testGetPipelinesByTypeFactorAndState()
// 5 pipelines in closed state for each type and factor
pipeline = createDummyPipeline(type, factor, factor.getNumber())
- .getProtobufMessage(ClientVersion.CURRENT.serialize());
+ .getProtobufMessage(ClientVersion.CURRENT);
stateManager.addPipeline(pipeline);
finalizePipeline(pipeline);
pipelines.add(pipeline);
@@ -292,7 +292,7 @@ public void testAddAndGetContainer() throws IOException,
TimeoutException {
long containerID = 0;
Pipeline pipeline = createDummyPipeline(1);
HddsProtos.Pipeline pipelineProto = pipeline
- .getProtobufMessage(ClientVersion.CURRENT.serialize());
+ .getProtobufMessage(ClientVersion.CURRENT);
stateManager.addPipeline(pipelineProto);
pipeline = stateManager.getPipeline(pipeline.getId());
stateManager.addContainerToPipeline(pipeline.getId(),
@@ -325,7 +325,7 @@ public void testAddAndGetContainer() throws IOException,
TimeoutException {
public void testRemovePipeline() throws IOException, TimeoutException {
Pipeline pipeline = createDummyPipeline(1);
HddsProtos.Pipeline pipelineProto = pipeline
- .getProtobufMessage(ClientVersion.CURRENT.serialize());
+ .getProtobufMessage(ClientVersion.CURRENT);
stateManager.addPipeline(pipelineProto);
// close the pipeline
openPipeline(pipelineProto);
@@ -347,7 +347,7 @@ public void testRemoveContainer() throws IOException,
TimeoutException {
long containerID = 1;
Pipeline pipeline = createDummyPipeline(1);
HddsProtos.Pipeline pipelineProto = pipeline
- .getProtobufMessage(ClientVersion.CURRENT.serialize());
+ .getProtobufMessage(ClientVersion.CURRENT);
// create an open pipeline in stateMap
stateManager.addPipeline(pipelineProto);
openPipeline(pipelineProto);
@@ -387,7 +387,7 @@ public void testRemoveContainer() throws IOException,
TimeoutException {
public void testFinalizePipeline() throws IOException, TimeoutException {
Pipeline pipeline = createDummyPipeline(1);
HddsProtos.Pipeline pipelineProto = pipeline
- .getProtobufMessage(ClientVersion.CURRENT.serialize());
+ .getProtobufMessage(ClientVersion.CURRENT);
stateManager.addPipeline(pipelineProto);
// finalize on ALLOCATED pipeline
finalizePipeline(pipelineProto);
@@ -398,7 +398,7 @@ public void testFinalizePipeline() throws IOException,
TimeoutException {
pipeline = createDummyPipeline(1);
pipelineProto = pipeline
- .getProtobufMessage(ClientVersion.CURRENT.serialize());
+ .getProtobufMessage(ClientVersion.CURRENT);
stateManager.addPipeline(pipelineProto);
openPipeline(pipelineProto);
// finalize on OPEN pipeline
@@ -410,7 +410,7 @@ public void testFinalizePipeline() throws IOException,
TimeoutException {
pipeline = createDummyPipeline(1);
pipelineProto = pipeline
- .getProtobufMessage(ClientVersion.CURRENT.serialize());
+ .getProtobufMessage(ClientVersion.CURRENT);
stateManager.addPipeline(pipelineProto);
openPipeline(pipelineProto);
finalizePipeline(pipelineProto);
@@ -426,7 +426,7 @@ public void testFinalizePipeline() throws IOException,
TimeoutException {
public void testOpenPipeline() throws IOException, TimeoutException {
Pipeline pipeline = createDummyPipeline(1);
HddsProtos.Pipeline pipelineProto = pipeline
- .getProtobufMessage(ClientVersion.CURRENT.serialize());
+ .getProtobufMessage(ClientVersion.CURRENT);
stateManager.addPipeline(pipelineProto);
// open on ALLOCATED pipeline
openPipeline(pipelineProto);
@@ -448,7 +448,7 @@ public void testQueryPipeline() throws IOException,
TimeoutException {
HddsProtos.ReplicationFactor.THREE, 3);
// pipeline in allocated state should not be reported
HddsProtos.Pipeline pipelineProto = pipeline
- .getProtobufMessage(ClientVersion.CURRENT.serialize());
+ .getProtobufMessage(ClientVersion.CURRENT);
stateManager.addPipeline(pipelineProto);
assertEquals(0, stateManager
.getPipelines(RatisReplicationConfig
@@ -470,7 +470,7 @@ public void testQueryPipeline() throws IOException,
TimeoutException {
.setState(Pipeline.PipelineState.OPEN)
.build();
HddsProtos.Pipeline pipelineProto2 = pipeline2
- .getProtobufMessage(ClientVersion.CURRENT.serialize());
+ .getProtobufMessage(ClientVersion.CURRENT);
// pipeline in open state should be reported
stateManager.addPipeline(pipelineProto2);
assertEquals(2, stateManager
diff --git
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestRatisPipelineProvider.java
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestRatisPipelineProvider.java
index 04a935f6847..29faf3ea238 100644
---
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestRatisPipelineProvider.java
+++
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestRatisPipelineProvider.java
@@ -141,14 +141,14 @@ private void createPipelineAndAssertions(
assertPipelineProperties(pipeline, factor, REPLICATION_TYPE,
Pipeline.PipelineState.ALLOCATED);
HddsProtos.Pipeline pipelineProto = pipeline.getProtobufMessage(
- ClientVersion.CURRENT.serialize());
+ ClientVersion.CURRENT);
stateManager.addPipeline(pipelineProto);
nodeManager.addPipeline(pipeline);
Pipeline pipeline1 = provider.create(RatisReplicationConfig
.getInstance(factor));
HddsProtos.Pipeline pipelineProto1 = pipeline1.getProtobufMessage(
- ClientVersion.CURRENT.serialize());
+ ClientVersion.CURRENT);
assertPipelineProperties(pipeline1, factor, REPLICATION_TYPE,
Pipeline.PipelineState.ALLOCATED);
// New pipeline should not overlap with the previous created pipeline
@@ -190,7 +190,7 @@ public void testCreatePipelineWithFactor() throws Exception
{
assertPipelineProperties(pipeline, factor, REPLICATION_TYPE,
Pipeline.PipelineState.ALLOCATED);
HddsProtos.Pipeline pipelineProto = pipeline.getProtobufMessage(
- ClientVersion.CURRENT.serialize());
+ ClientVersion.CURRENT);
stateManager.addPipeline(pipelineProto);
factor = HddsProtos.ReplicationFactor.ONE;
@@ -199,7 +199,7 @@ public void testCreatePipelineWithFactor() throws Exception
{
assertPipelineProperties(pipeline1, factor, REPLICATION_TYPE,
Pipeline.PipelineState.ALLOCATED);
HddsProtos.Pipeline pipelineProto1 = pipeline1.getProtobufMessage(
- ClientVersion.CURRENT.serialize());
+ ClientVersion.CURRENT);
stateManager.addPipeline(pipelineProto1);
// With enough pipeline quote on datanodes, they should not share
// the same set of datanodes.
@@ -279,7 +279,7 @@ public void testCreatePipelinesDnExclude() throws Exception
{
assertPipelineProperties(pipeline, factor, REPLICATION_TYPE,
Pipeline.PipelineState.ALLOCATED);
HddsProtos.Pipeline pipelineProto = pipeline.getProtobufMessage(
- ClientVersion.CURRENT.serialize());
+ ClientVersion.CURRENT);
nodeManager.addPipeline(pipeline);
stateManager.addPipeline(pipelineProto);
@@ -406,7 +406,7 @@ public void testCreatePipelineWithDefaultLimit() throws
Exception {
Pipeline p = provider.create(
RatisReplicationConfig.getInstance(ReplicationFactor.THREE),
new ArrayList<>(), new ArrayList<>());
-
stateManager.addPipeline(p.getProtobufMessage(ClientVersion.CURRENT.serialize()));
+ stateManager.addPipeline(p.getProtobufMessage(ClientVersion.CURRENT));
}
// Next pipeline creation should fail with default limit message.
@@ -431,7 +431,7 @@ public void
testCreatePipelineThrowErrorWithDataNodeLimit(int limit, int pipelin
for (int i = 0; i < pipelineCount; i++) {
stateManager.addPipeline(
provider.create(RatisReplicationConfig.getInstance(ReplicationFactor.THREE),
- new ArrayList<>(), new
ArrayList<>()).getProtobufMessage(ClientVersion.CURRENT.serialize())
+ new ArrayList<>(), new
ArrayList<>()).getProtobufMessage(ClientVersion.CURRENT)
);
}
@@ -458,7 +458,7 @@ private void addPipeline(
.setId(PipelineID.randomId())
.build();
HddsProtos.Pipeline pipelineProto = openPipeline.getProtobufMessage(
- ClientVersion.CURRENT.serialize());
+ ClientVersion.CURRENT);
stateManager.addPipeline(pipelineProto);
nodeManager.addPipeline(openPipeline);
diff --git
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestSimplePipelineProvider.java
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestSimplePipelineProvider.java
index 07a064a2b7d..d2d4e9b6e26 100644
---
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestSimplePipelineProvider.java
+++
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestSimplePipelineProvider.java
@@ -81,7 +81,7 @@ public void testCreatePipelineWithFactor() throws Exception {
Pipeline pipeline =
provider.create(StandaloneReplicationConfig.getInstance(factor));
HddsProtos.Pipeline pipelineProto = pipeline.getProtobufMessage(
- ClientVersion.CURRENT.serialize());
+ ClientVersion.CURRENT);
stateManager.addPipeline(pipelineProto);
assertEquals(pipeline.getType(), HddsProtos.ReplicationType.STAND_ALONE);
assertEquals(pipeline.getReplicationConfig().getRequiredNodes(),
factor.getNumber());
@@ -92,7 +92,7 @@ public void testCreatePipelineWithFactor() throws Exception {
Pipeline pipeline1 =
provider.create(StandaloneReplicationConfig.getInstance(factor));
HddsProtos.Pipeline pipelineProto1 = pipeline1.getProtobufMessage(
- ClientVersion.CURRENT.serialize());
+ ClientVersion.CURRENT);
stateManager.addPipeline(pipelineProto1);
assertEquals(pipeline1.getType(), HddsProtos.ReplicationType.STAND_ALONE);
assertEquals(
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 6b7674d7642..df81ddd688b 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
@@ -128,7 +128,7 @@ private AllocateScmBlockResponseProto allocate(int
numBlocks) throws Exception {
.setFactor(ReplicationFactor.THREE)
.setOwner("owner")
.build();
- return service.allocateScmBlock(request,
ClientVersion.CURRENT.serialize());
+ return service.allocateScmBlock(request, ClientVersion.CURRENT);
}
private Pipeline buildPipeline(List<DatanodeDetails> pipelineNodes) {
diff --git
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/server/TestSCMBlockProtocolServer.java
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/server/TestSCMBlockProtocolServer.java
index 0fe156448ee..fa733d3712a 100644
---
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/server/TestSCMBlockProtocolServer.java
+++
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/server/TestSCMBlockProtocolServer.java
@@ -274,7 +274,7 @@ public void testSortDatanodes() throws Exception {
.setClient(client)
.build();
ScmBlockLocationProtocolProtos.SortDatanodesResponseProto resp =
- service.sortDatanodes(request, ClientVersion.CURRENT.serialize());
+ service.sortDatanodes(request, ClientVersion.CURRENT);
assertEquals(NODE_COUNT, resp.getNodeList().size());
System.out.println("client = " + client);
resp.getNodeList().stream().forEach(
@@ -290,7 +290,7 @@ public void testSortDatanodes() throws Exception {
.addAllNodeNetworkName(nodes)
.setClient(client)
.build();
- resp = service.sortDatanodes(request, ClientVersion.CURRENT.serialize());
+ resp = service.sortDatanodes(request, ClientVersion.CURRENT);
System.out.println("client = " + client);
assertEquals(0, resp.getNodeList().size());
resp.getNodeList().stream().forEach(
diff --git
a/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/ContainerOperationClient.java
b/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/ContainerOperationClient.java
index 9f14744d2a5..d03a6215a68 100644
---
a/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/ContainerOperationClient.java
+++
b/hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/ContainerOperationClient.java
@@ -252,7 +252,7 @@ public List<HddsProtos.Node> queryNode(
HddsProtos.QueryScope queryScope, String poolName)
throws IOException {
return storageContainerLocationClient.queryNode(opState, nodeState,
- queryScope, poolName, ClientVersion.CURRENT.serialize());
+ queryScope, poolName, ClientVersion.CURRENT);
}
@Override
@@ -467,7 +467,7 @@ public ContainerWithPipeline getContainerWithPipeline(long
containerId)
public List<ContainerReplicaInfo> getContainerReplicas(long containerId)
throws IOException {
List<HddsProtos.SCMContainerReplicaProto> protos =
storageContainerLocationClient.getContainerReplicas(containerId,
- ClientVersion.CURRENT.serialize());
+ ClientVersion.CURRENT);
List<ContainerReplicaInfo> replicas = new ArrayList<>();
for (HddsProtos.SCMContainerReplicaProto p : protos) {
replicas.add(ContainerReplicaInfo.fromProto(p));
@@ -590,14 +590,14 @@ public DeletedBlocksTransactionSummary
getDeletedBlockSummary() throws IOExcepti
public List<HddsProtos.DatanodeUsageInfoProto> getDatanodeUsageInfo(
String address, String uuid) throws IOException {
return storageContainerLocationClient.getDatanodeUsageInfo(address,
- uuid, ClientVersion.CURRENT.serialize());
+ uuid, ClientVersion.CURRENT);
}
@Override
public List<HddsProtos.DatanodeUsageInfoProto> getDatanodeUsageInfo(
boolean mostUsed, int count) throws IOException {
return storageContainerLocationClient.getDatanodeUsageInfo(mostUsed, count,
- ClientVersion.CURRENT.serialize());
+ ClientVersion.CURRENT);
}
@Override
diff --git
a/hadoop-ozone/cli-debug/src/main/java/org/apache/hadoop/ozone/fsck/ContainerMapper.java
b/hadoop-ozone/cli-debug/src/main/java/org/apache/hadoop/ozone/fsck/ContainerMapper.java
index 294b06f0c02..42a7726d039 100644
---
a/hadoop-ozone/cli-debug/src/main/java/org/apache/hadoop/ozone/fsck/ContainerMapper.java
+++
b/hadoop-ozone/cli-debug/src/main/java/org/apache/hadoop/ozone/fsck/ContainerMapper.java
@@ -88,7 +88,7 @@ public static void main(String[] args) throws IOException {
keyValueTableIterator.next();
OmKeyInfo omKeyInfo = keyValue.getValue();
byte[] value = omKeyInfo
- .getProtobuf(true, ClientVersion.CURRENT.serialize())
+ .getProtobuf(true, ClientVersion.CURRENT)
.toByteArray();
OmKeyInfo keyInfo = OmKeyInfo.getFromProtobuf(
OzoneManagerProtocolProtos.KeyInfo.parseFrom(value));
diff --git
a/hadoop-ozone/cli-debug/src/test/java/org/apache/hadoop/ozone/debug/om/TestContainerToKeyMapping.java
b/hadoop-ozone/cli-debug/src/test/java/org/apache/hadoop/ozone/debug/om/TestContainerToKeyMapping.java
index 4cad62cd719..fd1650683b0 100644
---
a/hadoop-ozone/cli-debug/src/test/java/org/apache/hadoop/ozone/debug/om/TestContainerToKeyMapping.java
+++
b/hadoop-ozone/cli-debug/src/test/java/org/apache/hadoop/ozone/debug/om/TestContainerToKeyMapping.java
@@ -31,6 +31,7 @@
import org.apache.hadoop.hdds.client.StandaloneReplicationConfig;
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
+import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.debug.OzoneDebug;
import org.apache.hadoop.ozone.om.OMMetadataManager;
import org.apache.hadoop.ozone.om.OmMetadataManagerImpl;
@@ -304,7 +305,7 @@ private void createMultipartUpload() throws Exception {
// Create part 1 with a block in container 4
OmKeyInfo part1Info = createOBSKeyInfo(
mpuKeyName + "/" + uploadId + "/part-1", MPU_PART1_ID, CONTAINER_ID_4);
- KeyInfo part1Proto = part1Info.getProtobuf(true, 0);
+ KeyInfo part1Proto = part1Info.getProtobuf(true,
ClientVersion.DEFAULT_VERSION);
PartKeyInfo partKeyInfo1 = PartKeyInfo.newBuilder()
.setPartName(mpuKeyName + "/" + uploadId + "/part-1")
.setPartNumber(1)
@@ -314,7 +315,7 @@ private void createMultipartUpload() throws Exception {
// Create part 2 with a block in container 4
OmKeyInfo part2Info = createOBSKeyInfo(
mpuKeyName + "/" + uploadId + "/part-2", MPU_PART2_ID, CONTAINER_ID_4);
- KeyInfo part2Proto = part2Info.getProtobuf(true, 0);
+ KeyInfo part2Proto = part2Info.getProtobuf(true,
ClientVersion.DEFAULT_VERSION);
PartKeyInfo partKeyInfo2 = PartKeyInfo.newBuilder()
.setPartName(mpuKeyName + "/" + uploadId + "/part-2")
.setPartNumber(2)
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/KeyInfoWithVolumeContext.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/KeyInfoWithVolumeContext.java
index d6d54d3c174..8a164efe8ef 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/KeyInfoWithVolumeContext.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/KeyInfoWithVolumeContext.java
@@ -19,6 +19,7 @@
import java.io.IOException;
import java.util.Optional;
+import org.apache.hadoop.ozone.ClientVersion;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.GetKeyInfoResponse;
/**
@@ -55,7 +56,7 @@ public static KeyInfoWithVolumeContext fromProtobuf(
.build();
}
- public GetKeyInfoResponse toProtobuf(int clientVersion) {
+ public GetKeyInfoResponse toProtobuf(ClientVersion clientVersion) {
GetKeyInfoResponse.Builder builder = GetKeyInfoResponse.newBuilder();
volumeArgs.ifPresent(v -> builder.setVolumeInfo(v.getProtobuf()));
userPrincipal.ifPresent(builder::setUserPrincipal);
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyInfo.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyInfo.java
index ca911f895c7..7258403e8f1 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyInfo.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyInfo.java
@@ -143,7 +143,7 @@ private static Codec<OmKeyInfo> newCodec(boolean isOpenKey)
{
return new DelegatedCodec<>(
Proto2Codec.get(KeyInfo.getDefaultInstance()),
OmKeyInfo::getFromProtobuf,
- k -> k.getProtobuf(true, ClientVersion.CURRENT.serialize(), isOpenKey),
+ k -> k.getProtobuf(true, ClientVersion.CURRENT, isOpenKey),
OmKeyInfo.class);
}
@@ -724,7 +724,7 @@ protected OmKeyInfo buildObject() {
* For network transmit.
* @return KeyInfo
*/
- public KeyInfo getProtobuf(int clientVersion) {
+ public KeyInfo getProtobuf(ClientVersion clientVersion) {
return getProtobuf(false, clientVersion);
}
@@ -734,7 +734,7 @@ public KeyInfo getProtobuf(int clientVersion) {
* @param latestVersion
* @return key info.
*/
- public KeyInfo getNetworkProtobuf(int clientVersion, boolean latestVersion) {
+ public KeyInfo getNetworkProtobuf(ClientVersion clientVersion, boolean
latestVersion) {
return getProtobuf(false, null, clientVersion, latestVersion);
}
@@ -746,7 +746,7 @@ public KeyInfo getNetworkProtobuf(int clientVersion,
boolean latestVersion) {
* @param latestVersion
* @return key info with the user given full key name
*/
- public KeyInfo getNetworkProtobuf(String fullKeyName, int clientVersion,
+ public KeyInfo getNetworkProtobuf(String fullKeyName, ClientVersion
clientVersion,
boolean latestVersion) {
return getProtobuf(false, fullKeyName, clientVersion, latestVersion);
}
@@ -756,7 +756,7 @@ public KeyInfo getNetworkProtobuf(String fullKeyName, int
clientVersion,
* @param ignorePipeline true for persist to DB, false for network transmit.
* @return KeyInfo
*/
- public KeyInfo getProtobuf(boolean ignorePipeline, int clientVersion) {
+ public KeyInfo getProtobuf(boolean ignorePipeline, ClientVersion
clientVersion) {
return getProtobuf(ignorePipeline, null, clientVersion, false, true);
}
@@ -768,7 +768,7 @@ public KeyInfo getProtobuf(boolean ignorePipeline, int
clientVersion) {
* @param isOpenKey true for openKeyTable, false for keyTable
* @return KeyInfo
*/
- public KeyInfo getProtobuf(boolean ignorePipeline, int clientVersion,
+ public KeyInfo getProtobuf(boolean ignorePipeline, ClientVersion
clientVersion,
boolean isOpenKey) {
return getProtobuf(ignorePipeline, null, clientVersion, false, isOpenKey);
}
@@ -781,7 +781,7 @@ public KeyInfo getProtobuf(boolean ignorePipeline, int
clientVersion,
* @return key info object
*/
private KeyInfo getProtobuf(boolean ignorePipeline, String fullKeyName,
- int clientVersion, boolean latestVersionBlocks) {
+ ClientVersion clientVersion, boolean
latestVersionBlocks) {
return getProtobuf(ignorePipeline, fullKeyName, clientVersion,
latestVersionBlocks, true);
}
@@ -796,7 +796,7 @@ private KeyInfo getProtobuf(boolean ignorePipeline, String
fullKeyName,
* @return key info object
*/
private KeyInfo getProtobuf(boolean ignorePipeline, String fullKeyName,
- int clientVersion, boolean latestVersionBlocks,
+ ClientVersion clientVersion, boolean
latestVersionBlocks,
boolean isOpenKey) {
long latestVersion = keyLocationVersions.isEmpty() ? -1 :
keyLocationVersions.get(keyLocationVersions.size() - 1).getVersion();
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyLocationInfo.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyLocationInfo.java
index d3fea73b211..4de931978b9 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyLocationInfo.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyLocationInfo.java
@@ -21,6 +21,7 @@
import org.apache.hadoop.hdds.scm.pipeline.Pipeline;
import org.apache.hadoop.hdds.scm.storage.BlockLocationInfo;
import org.apache.hadoop.hdds.security.token.OzoneBlockTokenIdentifier;
+import org.apache.hadoop.ozone.ClientVersion;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.KeyLocation;
import org.apache.hadoop.ozone.protocolPB.OMPBHelper;
import org.apache.hadoop.security.token.Token;
@@ -88,11 +89,11 @@ public OmKeyLocationInfo build() {
}
}
- public KeyLocation getProtobuf(int clientVersion) {
+ public KeyLocation getProtobuf(ClientVersion clientVersion) {
return getProtobuf(false, clientVersion);
}
- public KeyLocation getProtobuf(boolean ignorePipeline, int clientVersion) {
+ public KeyLocation getProtobuf(boolean ignorePipeline, ClientVersion
clientVersion) {
KeyLocation.Builder builder = KeyLocation.newBuilder()
.setBlockID(getBlockID().getProtobuf())
.setLength(getLength())
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyLocationInfoGroup.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyLocationInfoGroup.java
index e2477a4cef1..f54c4108c2c 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyLocationInfoGroup.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyLocationInfoGroup.java
@@ -24,6 +24,7 @@
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
+import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.KeyLocationList;
@@ -125,7 +126,7 @@ public List<OmKeyLocationInfo> getLocationList(Long
versionToFetch) {
}
public KeyLocationList getProtobuf(boolean ignorePipeline,
- int clientVersion) {
+ ClientVersion clientVersion) {
KeyLocationList.Builder builder = KeyLocationList.newBuilder()
.setVersion(version).setIsMultipartKey(isMultipartKey);
List<OzoneManagerProtocolProtos.KeyLocation> keyLocationList =
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmMultipartPartInfo.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmMultipartPartInfo.java
index 41bf349f504..3b750c7e3e9 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmMultipartPartInfo.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmMultipartPartInfo.java
@@ -338,7 +338,7 @@ private KeyLocationList getKeyLocationInfosAsProto() {
if (keyLocationInfos == null || keyLocationInfos.isEmpty()) {
throw new IllegalArgumentException("keyLocationList is required");
}
- return keyLocationInfos.get(0).getProtobuf(true,
ClientVersion.CURRENT.serialize());
+ return keyLocationInfos.get(0).getProtobuf(true, ClientVersion.CURRENT);
}
private static List<OmKeyLocationInfoGroup> getKeyLocationInfosFromProto(
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OzoneFileStatus.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OzoneFileStatus.java
index e0d7ebe37b6..8f17d986b26 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OzoneFileStatus.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OzoneFileStatus.java
@@ -21,6 +21,7 @@
import java.io.IOException;
import java.util.Objects;
+import org.apache.hadoop.ozone.ClientVersion;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OzoneFileStatusProto;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OzoneFileStatusProto.Builder;
@@ -92,7 +93,7 @@ public boolean isFile() {
return !isDirectory();
}
- public OzoneFileStatusProto getProtobuf(int clientVersion) {
+ public OzoneFileStatusProto getProtobuf(ClientVersion clientVersion) {
Builder builder = OzoneFileStatusProto.newBuilder()
.setBlockSize(blockSize)
.setIsDirectory(isDirectory);
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/RepeatedOmKeyInfo.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/RepeatedOmKeyInfo.java
index 39a3497aa1d..fe55033b36b 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/RepeatedOmKeyInfo.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/RepeatedOmKeyInfo.java
@@ -60,7 +60,7 @@ private static Codec<RepeatedOmKeyInfo> newCodec(boolean
ignorePipeline, boolean
return new DelegatedCodec<>(
Proto2Codec.get(RepeatedKeyInfo.getDefaultInstance()),
RepeatedOmKeyInfo::getFromProto,
- k -> k.getProto(ignorePipeline, ClientVersion.CURRENT.serialize(),
isOpenKey),
+ k -> k.getProto(ignorePipeline, ClientVersion.CURRENT, isOpenKey),
RepeatedOmKeyInfo.class);
}
@@ -151,7 +151,7 @@ public static RepeatedOmKeyInfo
getFromProto(RepeatedKeyInfo repeatedKeyInfo) {
/**
* @param compact true for persistence, false for network transmit
*/
- public RepeatedKeyInfo getProto(boolean compact, int clientVersion) {
+ public RepeatedKeyInfo getProto(boolean compact, ClientVersion
clientVersion) {
return getProto(compact, clientVersion, true);
}
@@ -160,7 +160,7 @@ public RepeatedKeyInfo getProto(boolean compact, int
clientVersion) {
* @param clientVersion the client version
* @param isOpenKey true for openKeyTable, false for keyTable/deletedTable
*/
- public RepeatedKeyInfo getProto(boolean compact, int clientVersion, boolean
isOpenKey) {
+ public RepeatedKeyInfo getProto(boolean compact, ClientVersion
clientVersion, boolean isOpenKey) {
List<KeyInfo> list = new ArrayList<>();
for (OmKeyInfo k : cloneOmKeyInfoList()) {
list.add(k.getProtobuf(compact, clientVersion, isOpenKey));
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/protocolPB/OzoneManagerProtocolClientSideTranslatorPB.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/protocolPB/OzoneManagerProtocolClientSideTranslatorPB.java
index c17af89679d..c5bc6f45e01 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/protocolPB/OzoneManagerProtocolClientSideTranslatorPB.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/protocolPB/OzoneManagerProtocolClientSideTranslatorPB.java
@@ -854,8 +854,7 @@ private void updateKey(OmKeyArgs args, long clientId,
boolean hsync, boolean rec
.setDataSize(args.getDataSize())
.addAllMetadata(KeyValueUtil.toProtobuf(args.getMetadata()))
.addAllKeyLocations(locationInfoList.stream()
- // TODO use OM version?
- .map(info -> info.getProtobuf(ClientVersion.CURRENT.serialize()))
+ .map(info -> info.getProtobuf(ClientVersion.CURRENT))
.collect(Collectors.toList()));
setReplicationConfig(args.getReplicationConfig(), keyArgsBuilder);
@@ -1773,8 +1772,7 @@ public OmMultipartCommitUploadPartInfo
commitMultipartUploadPart(
.setDataSize(omKeyArgs.getDataSize())
.addAllMetadata(KeyValueUtil.toProtobuf(omKeyArgs.getMetadata()))
.addAllKeyLocations(locationInfoList.stream()
- // TODO use OM version?
- .map(info -> info.getProtobuf(ClientVersion.CURRENT.serialize()))
+ .map(info -> info.getProtobuf(ClientVersion.CURRENT))
.collect(Collectors.toList()));
multipartCommitUploadPartRequest.setClientID(clientId);
multipartCommitUploadPartRequest.setKeyArgs(keyArgs.build());
diff --git
a/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/helpers/TestOmKeyInfo.java
b/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/helpers/TestOmKeyInfo.java
index bc8928f9c4c..30e69b13d68 100644
---
a/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/helpers/TestOmKeyInfo.java
+++
b/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/helpers/TestOmKeyInfo.java
@@ -60,7 +60,7 @@ public void protobufConversion() throws IOException {
RatisReplicationConfig.getInstance(ReplicationFactor.THREE));
OmKeyInfo keyAfterSerialization = OmKeyInfo.getFromProtobuf(
- key.getProtobuf(ClientVersion.CURRENT.serialize()));
+ key.getProtobuf(ClientVersion.CURRENT));
assertNotNull(keyAfterSerialization);
assertEquals(key, keyAfterSerialization);
@@ -78,7 +78,7 @@ public void getProtobufMessageEC() throws IOException {
OmKeyInfo key = createOmKeyInfo(
RatisReplicationConfig.getInstance(ReplicationFactor.THREE));
OzoneManagerProtocolProtos.KeyInfo omKeyProto =
- key.getProtobuf(ClientVersion.CURRENT.serialize());
+ key.getProtobuf(ClientVersion.CURRENT);
// No EC Config
assertFalse(omKeyProto.hasEcReplicationConfig());
@@ -95,7 +95,7 @@ public void getProtobufMessageEC() throws IOException {
// EC Config
key = createOmKeyInfo(new ECReplicationConfig(3, 2));
assertFalse(key.isHsync());
- omKeyProto = key.getProtobuf(ClientVersion.CURRENT.serialize());
+ omKeyProto = key.getProtobuf(ClientVersion.CURRENT);
assertEquals(3,
omKeyProto.getEcReplicationConfig().getData());
diff --git
a/hadoop-ozone/integration-test-recon/src/test/java/org/apache/hadoop/ozone/recon/AbstractTestStorageDistributionEndpoint.java
b/hadoop-ozone/integration-test-recon/src/test/java/org/apache/hadoop/ozone/recon/AbstractTestStorageDistributionEndpoint.java
index ee63904be59..0fd5234ba91 100644
---
a/hadoop-ozone/integration-test-recon/src/test/java/org/apache/hadoop/ozone/recon/AbstractTestStorageDistributionEndpoint.java
+++
b/hadoop-ozone/integration-test-recon/src/test/java/org/apache/hadoop/ozone/recon/AbstractTestStorageDistributionEndpoint.java
@@ -49,6 +49,7 @@
import org.apache.hadoop.hdds.scm.events.SCMEvents;
import org.apache.hadoop.hdds.scm.server.StorageContainerManager;
import org.apache.hadoop.hdds.utils.IOUtils;
+import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.MiniOzoneCluster;
import org.apache.hadoop.ozone.client.BucketArgs;
import org.apache.hadoop.ozone.client.ObjectStore;
@@ -229,7 +230,8 @@ protected boolean
verifyStorageDistributionAfterKeyCreation() {
List<DatanodeStorageReport> reports = storageResponse.getDataNodeUsage();
List<HddsProtos.DatanodeUsageInfoProto> scmReports =
- scm.getClientProtocolServer().getDatanodeUsageInfo(true,
getNumDatanodes(), 1);
+ scm.getClientProtocolServer().getDatanodeUsageInfo(true,
getNumDatanodes(),
+ ClientVersion.VERSION_HANDLES_UNKNOWN_DN_PORTS);
long totalReserved = 0;
long totalMinFreeSpace = 0;
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/container/TestScmApplyTransactionFailure.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/container/TestScmApplyTransactionFailure.java
index 687201e0a14..4391b622b57 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/container/TestScmApplyTransactionFailure.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/container/TestScmApplyTransactionFailure.java
@@ -94,7 +94,7 @@ public void testAddDuplicatePipelineId()
replication, PipelineState.OPEN).get(0);
HddsProtos.Pipeline pipelineToCreate =
- existing.getProtobufMessage(CURRENT.serialize());
+ existing.getProtobufMessage(CURRENT);
Throwable ex = assertThrows(SCMException.class,
() -> pipelineManager.getStateManager().addPipeline(
pipelineToCreate));
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/debug/TestLDBCli.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/debug/TestLDBCli.java
index 94b160e5c8c..f6cfc6759d7 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/debug/TestLDBCli.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/debug/TestLDBCli.java
@@ -500,7 +500,7 @@ private void prepareKeyTable(int recordsCount) throws
IOException {
OmKeyInfo value = OMRequestTestUtils.createOmKeyInfo("vol1", "buck1",
key, ReplicationConfig.fromProtoTypeAndFactor(STAND_ALONE,
HddsProtos.ReplicationFactor.ONE)).build();
- keyTable.put(key.getBytes(UTF_8),
value.getProtobuf(ClientVersion.CURRENT.serialize()).toByteArray());
+ keyTable.put(key.getBytes(UTF_8),
value.getProtobuf(ClientVersion.CURRENT).toByteArray());
// Populate map
dbMap.put(key, toMap(value));
}
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/dn/checksum/TestContainerCommandReconciliation.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/dn/checksum/TestContainerCommandReconciliation.java
index 3868c691862..3c8656ab768 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/dn/checksum/TestContainerCommandReconciliation.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/dn/checksum/TestContainerCommandReconciliation.java
@@ -511,7 +511,7 @@ public void testDataChecksumReportedAtSCM() throws
Exception {
// Check non-zero checksum after container close
StorageContainerLocationProtocolClientSideTranslatorPB scmClient =
cluster.getStorageContainerLocationClient();
List<HddsProtos.SCMContainerReplicaProto> containerReplicas =
scmClient.getContainerReplicas(containerID,
- ClientVersion.CURRENT.serialize());
+ ClientVersion.CURRENT);
assertEquals(3, containerReplicas.size());
for (HddsProtos.SCMContainerReplicaProto containerReplica:
containerReplicas) {
assertNotEquals(0, containerReplica.getDataChecksum());
@@ -545,7 +545,7 @@ public void testDataChecksumReportedAtSCM() throws
Exception {
scmClient.reconcileContainer(containerID);
waitForDataChecksumsAtSCM(containerID, 1);
// Check non-zero checksum after container reconciliation
- containerReplicas = scmClient.getContainerReplicas(containerID,
ClientVersion.CURRENT.serialize());
+ containerReplicas = scmClient.getContainerReplicas(containerID,
ClientVersion.CURRENT);
assertEquals(3, containerReplicas.size());
for (HddsProtos.SCMContainerReplicaProto containerReplica:
containerReplicas) {
assertNotEquals(0, containerReplica.getDataChecksum());
@@ -559,7 +559,7 @@ public void testDataChecksumReportedAtSCM() throws
Exception {
}
cluster.waitForClusterToBeReady();
waitForDataChecksumsAtSCM(containerID, 1);
- containerReplicas = scmClient.getContainerReplicas(containerID,
ClientVersion.CURRENT.serialize());
+ containerReplicas = scmClient.getContainerReplicas(containerID,
ClientVersion.CURRENT);
assertEquals(3, containerReplicas.size());
for (HddsProtos.SCMContainerReplicaProto containerReplica:
containerReplicas) {
assertNotEquals(0, containerReplica.getDataChecksum());
@@ -571,7 +571,7 @@ private void waitForDataChecksumsAtSCM(long containerID,
int expectedSize) throw
GenericTestUtils.waitFor(() -> {
try {
Set<Long> dataChecksums =
cluster.getStorageContainerLocationClient().getContainerReplicas(containerID,
- ClientVersion.CURRENT.serialize()).stream()
+ ClientVersion.CURRENT).stream()
.map(HddsProtos.SCMContainerReplicaProto::getDataChecksum)
.collect(Collectors.toSet());
LOG.info("Waiting for {} total unique checksums from container {} to
be reported to SCM. Currently {} unique" +
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java
index 89960027839..e230b84b8b1 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java
@@ -1501,7 +1501,7 @@ public ExpiredOpenKeys getExpiredOpenKeys(Duration
expireThreshold,
.map(OmKeyLocationInfoGroup::getLocationList)
.map(Collection::stream)
.orElseGet(Stream::empty)
- .map(loc -> loc.getProtobuf(ClientVersion.CURRENT.serialize()))
+ .map(loc -> loc.getProtobuf(ClientVersion.CURRENT))
.forEach(keyArgs::addKeyLocations);
OzoneManagerProtocolClientSideTranslatorPB.setReplicationConfig(
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequest.java
index 35e1ac238f7..0f72da7c58f 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequest.java
@@ -35,6 +35,7 @@
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
import org.apache.hadoop.hdds.scm.container.common.helpers.ExcludeList;
import org.apache.hadoop.hdds.utils.UniqueId;
+import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.OmUtils;
import org.apache.hadoop.ozone.audit.OMAction;
import org.apache.hadoop.ozone.om.OMMetadataManager;
@@ -135,7 +136,8 @@ public OMRequest preExecute(OzoneManager ozoneManager)
throws IOException {
.setDataSize(requestedSize);
newKeyArgs.addAllKeyLocations(omKeyLocationInfoList.stream()
- .map(info -> info.getProtobuf(getOmRequest().getVersion()))
+ .map(info -> info.getProtobuf(
+ ClientVersion.deserialize(getOmRequest().getVersion())))
.collect(Collectors.toList()));
generateRequiredEncryptionInfo(keyArgs, newKeyArgs, ozoneManager);
@@ -279,7 +281,8 @@ public OMClientResponse validateAndUpdateCache(OzoneManager
ozoneManager, Execut
// Prepare response
omResponse.setCreateFileResponse(CreateFileResponse.newBuilder()
- .setKeyInfo(omKeyInfo.getNetworkProtobuf(getOmRequest().getVersion(),
+ .setKeyInfo(omKeyInfo.getNetworkProtobuf(
+ ClientVersion.deserialize(getOmRequest().getVersion()),
keyArgs.getLatestVersionLocation()))
.setID(clientID)
.setOpenVersion(openVersion).build())
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestWithFSO.java
index 6036fe90dbb..d41e11bca73 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestWithFSO.java
@@ -27,6 +27,7 @@
import java.util.Map;
import java.util.stream.Collectors;
import org.apache.hadoop.hdds.client.ReplicationConfig;
+import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.audit.OMAction;
import org.apache.hadoop.ozone.om.OMMetadataManager;
import org.apache.hadoop.ozone.om.OMMetrics;
@@ -207,7 +208,7 @@ public OMClientResponse validateAndUpdateCache(OzoneManager
ozoneManager, Execut
// Prepare response. Sets user given full key name in the 'keyName'
// attribute in response object.
- int clientVersion = getOmRequest().getVersion();
+ ClientVersion clientVersion =
ClientVersion.deserialize(getOmRequest().getVersion());
omResponse.setCreateFileResponse(CreateFileResponse.newBuilder()
.setKeyInfo(omFileInfo.getNetworkProtobuf(keyName, clientVersion,
keyArgs.getLatestVersionLocation()))
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMRecoverLeaseRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMRecoverLeaseRequest.java
index ca1ea07ad6e..7b3dc2b3d47 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMRecoverLeaseRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMRecoverLeaseRequest.java
@@ -38,6 +38,7 @@
import java.util.concurrent.TimeUnit;
import
org.apache.hadoop.hdds.scm.container.common.helpers.ContainerWithPipeline;
import org.apache.hadoop.hdds.security.token.OzoneBlockTokenSecretManager;
+import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.OzoneConsts;
import org.apache.hadoop.ozone.audit.OMAction;
import org.apache.hadoop.ozone.om.OMMetadataManager;
@@ -257,8 +258,9 @@ private RecoverLeaseResponse doWork(OzoneManager
ozoneManager,
}
RecoverLeaseResponse.Builder rb = RecoverLeaseResponse.newBuilder();
- rb.setKeyInfo(keyInfo.getNetworkProtobuf(getOmRequest().getVersion(),
true));
-
rb.setOpenKeyInfo(openKeyInfo.getNetworkProtobuf(getOmRequest().getVersion(),
true));
+ ClientVersion clientVersion =
ClientVersion.deserialize(getOmRequest().getVersion());
+ rb.setKeyInfo(keyInfo.getNetworkProtobuf(clientVersion, true));
+ rb.setOpenKeyInfo(openKeyInfo.getNetworkProtobuf(clientVersion, true));
return rb.build();
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequest.java
index 0e11f1d7677..7da2cd53a24 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequest.java
@@ -32,6 +32,7 @@
import org.apache.hadoop.hdds.scm.container.common.helpers.ExcludeList;
import org.apache.hadoop.hdds.utils.db.cache.CacheKey;
import org.apache.hadoop.hdds.utils.db.cache.CacheValue;
+import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.OzoneConsts;
import org.apache.hadoop.ozone.audit.AuditLogger;
import org.apache.hadoop.ozone.audit.OMAction;
@@ -131,7 +132,8 @@ public OMRequest preExecute(OzoneManager ozoneManager)
throws IOException {
// Add allocated block info.
newAllocatedBlockRequest.setKeyLocation(
- omKeyLocationInfoList.get(0).getProtobuf(getOmRequest().getVersion()));
+ omKeyLocationInfoList.get(0).getProtobuf(
+ ClientVersion.deserialize(getOmRequest().getVersion())));
return getOmRequest().toBuilder().setUserInfo(userInfo)
.setAllocateBlockRequest(newAllocatedBlockRequest).build();
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequest.java
index 929e46222c0..6303f2cbc43 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequest.java
@@ -35,6 +35,7 @@
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
import org.apache.hadoop.hdds.scm.container.common.helpers.ExcludeList;
import org.apache.hadoop.hdds.utils.UniqueId;
+import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.OmUtils;
import org.apache.hadoop.ozone.OzoneConsts;
import org.apache.hadoop.ozone.OzoneManagerVersion;
@@ -163,7 +164,7 @@ public OMRequest preExecute(OzoneManager ozoneManager)
throws IOException {
newKeyArgs.addAllKeyLocations(omKeyLocationInfoList.stream()
.map(info -> info.getProtobuf(false,
- getOmRequest().getVersion()))
+ ClientVersion.deserialize(getOmRequest().getVersion())))
.collect(Collectors.toList()));
} else {
newKeyArgs = keyArgs.toBuilder().setModificationTime(Time.now());
@@ -336,7 +337,8 @@ public OMClientResponse validateAndUpdateCache(OzoneManager
ozoneManager, Execut
// Prepare response
omResponse.setCreateKeyResponse(CreateKeyResponse.newBuilder()
- .setKeyInfo(omKeyInfo.getNetworkProtobuf(getOmRequest().getVersion(),
+ .setKeyInfo(omKeyInfo.getNetworkProtobuf(
+ ClientVersion.deserialize(getOmRequest().getVersion()),
keyArgs.getLatestVersionLocation()))
.setID(clientID)
.setOpenVersion(openVersion).build())
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequestWithFSO.java
index 99fabb46de1..122aaad8e99 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequestWithFSO.java
@@ -30,6 +30,7 @@
import java.util.Map;
import java.util.stream.Collectors;
import org.apache.hadoop.hdds.client.ReplicationConfig;
+import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.audit.OMAction;
import org.apache.hadoop.ozone.om.OMMetadataManager;
import org.apache.hadoop.ozone.om.OMMetrics;
@@ -201,7 +202,7 @@ public OMClientResponse validateAndUpdateCache(OzoneManager
ozoneManager, Execut
// Prepare response. Sets user given full key name in the 'keyName'
// attribute in response object.
- int clientVersion = getOmRequest().getVersion();
+ ClientVersion clientVersion =
ClientVersion.deserialize(getOmRequest().getVersion());
omResponse.setCreateKeyResponse(CreateKeyResponse.newBuilder()
.setKeyInfo(omFileInfo.getNetworkProtobuf(keyName, clientVersion,
keyArgs.getLatestVersionLocation()))
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCommitPartRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCommitPartRequest.java
index 78f1af96cfb..a2bc6e86a39 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCommitPartRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCommitPartRequest.java
@@ -30,6 +30,7 @@
import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.hdds.utils.db.cache.CacheKey;
import org.apache.hadoop.hdds.utils.db.cache.CacheValue;
+import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.OzoneConsts;
import org.apache.hadoop.ozone.audit.OMAction;
import org.apache.hadoop.ozone.om.OMMetadataManager;
@@ -217,7 +218,8 @@ public OMClientResponse validateAndUpdateCache(OzoneManager
ozoneManager, Execut
OzoneManagerProtocolProtos.PartKeyInfo.newBuilder();
partKeyInfo.setPartName(partName);
partKeyInfo.setPartNumber(partNumber);
-
partKeyInfo.setPartKeyInfo(omKeyInfo.getProtobuf(getOmRequest().getVersion()));
+ partKeyInfo.setPartKeyInfo(omKeyInfo.getProtobuf(
+ ClientVersion.deserialize(getOmRequest().getVersion())));
if (multipartKeyInfo.getSchemaVersion() ==
OmMultipartKeyInfo.LEGACY_SCHEMA_VERSION) {
// Add this part information in to multipartKeyInfo.
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequest.java
index 841ced7dacc..0da53c46bc1 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequest.java
@@ -37,6 +37,7 @@
import org.apache.hadoop.hdds.client.ReplicationConfig;
import org.apache.hadoop.hdds.utils.db.cache.CacheKey;
import org.apache.hadoop.hdds.utils.db.cache.CacheValue;
+import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.OzoneConsts;
import org.apache.hadoop.ozone.audit.OMAction;
import org.apache.hadoop.ozone.om.OMMetadataManager;
@@ -605,7 +606,8 @@ private OmMultipartKeyInfo.PartKeyInfoMap getPartKeyInfoMap(
partKeyInfos.put(entry.getKey(), PartKeyInfo.newBuilder()
.setPartName(partInfo.getPartName())
.setPartNumber(partInfo.getPartNumber())
- .setPartKeyInfo(partKeyInfo.getProtobuf(getOmRequest().getVersion()))
+ .setPartKeyInfo(partKeyInfo.getProtobuf(
+ ClientVersion.deserialize(getOmRequest().getVersion())))
.build());
}
return new OmMultipartKeyInfo.PartKeyInfoMap(partKeyInfos);
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/DirectoryDeletingService.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/DirectoryDeletingService.java
index 8069f5faf0c..11b2ba67350 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/DirectoryDeletingService.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/DirectoryDeletingService.java
@@ -521,14 +521,14 @@ private OzoneManagerProtocolProtos.PurgePathRequest
wrapPurgeRequest(
for (OmKeyInfo purgeFile : purgeDeletedFiles) {
purgePathsRequest.addDeletedSubFiles(
- purgeFile.getProtobuf(true, ClientVersion.CURRENT.serialize()));
+ purgeFile.getProtobuf(true, ClientVersion.CURRENT));
}
// Add these directories to deletedDirTable, so that its sub-paths will be
// traversed in next iteration to ensure cleanup all sub-children.
for (OmKeyInfo dir : markDirsAsDeleted) {
purgePathsRequest.addMarkDeletedSubDirs(
- dir.getProtobuf(ClientVersion.CURRENT.serialize()));
+ dir.getProtobuf(ClientVersion.CURRENT));
}
return purgePathsRequest.build();
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/KeyDeletingService.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/KeyDeletingService.java
index e37b1406c49..77701ab4260 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/KeyDeletingService.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/KeyDeletingService.java
@@ -333,7 +333,7 @@ private Pair<Pair<Integer, Long>, Boolean>
submitPurgeKeysRequest(
keyToUpdate.setKey(keyToModify.getKey());
List<OzoneManagerProtocolProtos.KeyInfo> keyInfos =
keyToModify.getValue().getOmKeyInfoList().stream()
- .map(k -> k.getProtobuf(ClientVersion.CURRENT.serialize()))
+ .map(k -> k.getProtobuf(ClientVersion.CURRENT))
.collect(Collectors.toList());
keyToUpdate.addAllKeyInfos(keyInfos);
keyToUpdate.setBucketId(keyToModify.getValue().getBucketId());
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/SnapshotDeletingService.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/SnapshotDeletingService.java
index 481a7ce88f9..c1508a89d83 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/SnapshotDeletingService.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/SnapshotDeletingService.java
@@ -196,14 +196,14 @@ public BackgroundTaskResult call() throws
InterruptedException {
for (Table.KeyValue<String, List<OmKeyInfo>> deletedEntry :
deletedKeyEntries) {
deletedKeys.add(SnapshotMoveKeyInfos.newBuilder().setKey(deletedEntry.getKey())
.addAllKeyInfos(deletedEntry.getValue()
- .stream().map(val ->
val.getProtobuf(ClientVersion.CURRENT.serialize()))
+ .stream().map(val ->
val.getProtobuf(ClientVersion.CURRENT))
.collect(Collectors.toList())).build());
}
// Convert deletedDirEntries to SnapshotMoveKeyInfos.
for (Table.KeyValue<String, OmKeyInfo> deletedDirEntry :
deletedDirEntries) {
deletedDirs.add(SnapshotMoveKeyInfos.newBuilder().setKey(deletedDirEntry.getKey())
-
.addKeyInfos(deletedDirEntry.getValue().getProtobuf(ClientVersion.CURRENT.serialize())).build());
+
.addKeyInfos(deletedDirEntry.getValue().getProtobuf(ClientVersion.CURRENT)).build());
}
// Convert renamedEntries to KeyValue.
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/protocolPB/OzoneManagerRequestHandler.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/protocolPB/OzoneManagerRequestHandler.java
index e9670614677..9b90eb81a5d 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/protocolPB/OzoneManagerRequestHandler.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/protocolPB/OzoneManagerRequestHandler.java
@@ -60,6 +60,7 @@
import
org.apache.hadoop.hdds.protocol.proto.HddsProtos.UpgradeFinalizationStatus;
import org.apache.hadoop.hdds.scm.protocolPB.OzonePBHelper;
import org.apache.hadoop.hdds.utils.FaultInjector;
+import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.OzoneAcl;
import org.apache.hadoop.ozone.om.OzoneManager;
import org.apache.hadoop.ozone.om.exceptions.OMException;
@@ -200,6 +201,7 @@ public OMResponse handleReadRequest(OMRequest request) {
Type cmdType = request.getCmdType();
OMResponse.Builder responseBuilder = OmResponseUtil.getOMResponseBuilder(
request);
+ final ClientVersion clientVersion =
ClientVersion.deserialize(request.getVersion());
try {
switch (cmdType) {
case CheckVolumeAccess:
@@ -229,12 +231,12 @@ public OMResponse handleReadRequest(OMRequest request) {
break;
case LookupKey:
LookupKeyResponse lookupKeyResponse = lookupKey(
- request.getLookupKeyRequest(), request.getVersion());
+ request.getLookupKeyRequest(), clientVersion);
responseBuilder.setLookupKeyResponse(lookupKeyResponse);
break;
case ListKeys:
ListKeysResponse listKeysResponse = listKeys(
- request.getListKeysRequest(), request.getVersion());
+ request.getListKeysRequest(), clientVersion);
responseBuilder.setListKeysResponse(listKeysResponse);
break;
case ListKeysLight:
@@ -254,7 +256,7 @@ public OMResponse handleReadRequest(OMRequest request) {
break;
case ListOpenFiles:
ListOpenFilesResponse listOpenFilesResponse = listOpenFiles(
- request.getListOpenFilesRequest(), request.getVersion());
+ request.getListOpenFilesRequest(), clientVersion);
responseBuilder.setListOpenFilesResponse(listOpenFilesResponse);
break;
case ServiceList:
@@ -274,23 +276,22 @@ public OMResponse handleReadRequest(OMRequest request) {
break;
case GetFileStatus:
GetFileStatusResponse getFileStatusResponse = getOzoneFileStatus(
- request.getGetFileStatusRequest(), request.getVersion());
+ request.getGetFileStatusRequest(), clientVersion);
responseBuilder.setGetFileStatusResponse(getFileStatusResponse);
break;
case LookupFile:
LookupFileResponse lookupFileResponse =
- lookupFile(request.getLookupFileRequest(), request.getVersion());
+ lookupFile(request.getLookupFileRequest(), clientVersion);
responseBuilder.setLookupFileResponse(lookupFileResponse);
break;
case ListStatus:
ListStatusResponse listStatusResponse =
- listStatus(request.getListStatusRequest(), request.getVersion());
+ listStatus(request.getListStatusRequest(), clientVersion);
responseBuilder.setListStatusResponse(listStatusResponse);
break;
case ListStatusLight:
ListStatusLightResponse listStatusLightResponse =
- listStatusLight(request.getListStatusRequest(),
- request.getVersion());
+ listStatusLight(request.getListStatusRequest());
responseBuilder.setListStatusLightResponse(listStatusLightResponse);
break;
case GetAcl:
@@ -343,7 +344,7 @@ public OMResponse handleReadRequest(OMRequest request) {
break;
case GetKeyInfo:
responseBuilder.setGetKeyInfoResponse(
- getKeyInfo(request.getGetKeyInfoRequest(), request.getVersion()));
+ getKeyInfo(request.getGetKeyInfoRequest(), clientVersion));
break;
case ListSnapshot:
OzoneManagerProtocolProtos.ListSnapshotResponse listSnapshotResponse =
@@ -649,7 +650,7 @@ private InfoBucketResponse infoBucket(InfoBucketRequest
request)
}
private LookupKeyResponse lookupKey(LookupKeyRequest request,
- int clientVersion) throws IOException {
+ ClientVersion clientVersion) throws IOException {
LookupKeyResponse.Builder resp =
LookupKeyResponse.newBuilder();
KeyArgs keyArgs = request.getKeyArgs();
@@ -669,7 +670,7 @@ private LookupKeyResponse lookupKey(LookupKeyRequest
request,
}
private GetKeyInfoResponse getKeyInfo(GetKeyInfoRequest request,
- int clientVersion) throws IOException {
+ ClientVersion clientVersion) throws
IOException {
KeyArgs keyArgs = request.getKeyArgs();
OmKeyArgs omKeyArgs = new OmKeyArgs.Builder()
.setVolumeName(keyArgs.getVolumeName())
@@ -766,7 +767,7 @@ private ListBucketsResponse listBuckets(ListBucketsRequest
request)
return resp.build();
}
- private ListKeysResponse listKeys(ListKeysRequest request, int clientVersion)
+ private ListKeysResponse listKeys(ListKeysRequest request, ClientVersion
clientVersion)
throws IOException {
ListKeysResponse.Builder resp =
ListKeysResponse.newBuilder();
@@ -947,7 +948,7 @@ public static OMResponse disallowListTrashWithBucketLayout(
@DisallowedUntilLayoutVersion(HBASE_SUPPORT)
private ListOpenFilesResponse listOpenFiles(ListOpenFilesRequest req,
- int clientVersion)
+ ClientVersion clientVersion)
throws IOException {
ListOpenFilesResponse.Builder resp = ListOpenFilesResponse.newBuilder();
@@ -1086,7 +1087,7 @@ private ListMultipartUploadsResponse listMultipartUploads(
}
private GetFileStatusResponse getOzoneFileStatus(
- GetFileStatusRequest request, int clientVersion) throws IOException {
+ GetFileStatusRequest request, ClientVersion clientVersion) throws
IOException {
KeyArgs keyArgs = request.getKeyArgs();
OmKeyArgs omKeyArgs = new OmKeyArgs.Builder()
.setVolumeName(keyArgs.getVolumeName())
@@ -1191,7 +1192,7 @@ public static OMResponse
disallowGetFileStatusWithBucketLayout(
}
private LookupFileResponse lookupFile(LookupFileRequest request,
- int clientVersion) throws IOException {
+ ClientVersion clientVersion) throws IOException {
KeyArgs keyArgs = request.getKeyArgs();
OmKeyArgs omKeyArgs = new OmKeyArgs.Builder()
.setVolumeName(keyArgs.getVolumeName())
@@ -1265,7 +1266,7 @@ public static OMResponse
disallowLookupFileWithBucketLayout(
}
private ListStatusResponse listStatus(
- ListStatusRequest request, int clientVersion) throws IOException {
+ ListStatusRequest request, ClientVersion clientVersion) throws
IOException {
KeyArgs keyArgs = request.getKeyArgs();
OmKeyArgs omKeyArgs = new OmKeyArgs.Builder()
.setVolumeName(keyArgs.getVolumeName())
@@ -1289,8 +1290,7 @@ private ListStatusResponse listStatus(
return listStatusResponseBuilder.build();
}
- private ListStatusLightResponse listStatusLight(
- ListStatusRequest request, int clientVersion) throws IOException {
+ private ListStatusLightResponse listStatusLight(ListStatusRequest request)
throws IOException {
KeyArgs keyArgs = request.getKeyArgs();
OmKeyArgs omKeyArgs = new OmKeyArgs.Builder()
.setVolumeName(keyArgs.getVolumeName())
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/OMRequestTestUtils.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/OMRequestTestUtils.java
index 16f42cb9179..e8715d63f61 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/OMRequestTestUtils.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/OMRequestTestUtils.java
@@ -1381,7 +1381,7 @@ public static OMRequest moveSnapshotTableKeyRequest(UUID
snapshotId,
.setKey(deletedKey.getKey())
.addAllKeyInfos(
deletedKey.getValue().stream()
- .map(omKeyInfo ->
omKeyInfo.getProtobuf(ClientVersion.CURRENT.serialize()))
+ .map(omKeyInfo ->
omKeyInfo.getProtobuf(ClientVersion.CURRENT))
.collect(Collectors.toList()))
.build();
deletedMoveKeys.add(snapshotMoveKeyInfos);
@@ -1394,7 +1394,7 @@ public static OMRequest moveSnapshotTableKeyRequest(UUID
snapshotId,
.setKey(deletedKey.getKey())
.addAllKeyInfos(
deletedKey.getValue().stream()
- .map(omKeyInfo ->
omKeyInfo.getProtobuf(ClientVersion.CURRENT.serialize()))
+ .map(omKeyInfo ->
omKeyInfo.getProtobuf(ClientVersion.CURRENT))
.collect(Collectors.toList()))
.build();
deletedDirMoveKeys.add(snapshotMoveKeyInfos);
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMRecoverLeaseRequest.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMRecoverLeaseRequest.java
index 7ded4c7f360..7755f9f9d40 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMRecoverLeaseRequest.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMRecoverLeaseRequest.java
@@ -377,7 +377,7 @@ private KeyArgs getNewKeyArgs(OmKeyInfo omKeyInfo, long
deltaLength) throws IOEx
.setDataSize(keyArgs.getDataSize())
.addAllMetadata(KeyValueUtil.toProtobuf(keyArgs.getMetadata()))
.addAllKeyLocations(locationInfoList.stream()
- .map(info -> info.getProtobuf(ClientVersion.CURRENT.serialize()))
+ .map(info -> info.getProtobuf(ClientVersion.CURRENT))
.collect(Collectors.toList()));
setReplicationConfig(keyArgs.getReplicationConfig(), keyArgsBuilder);
return keyArgsBuilder.build();
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMDirectoriesPurgeRequestAndResponse.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMDirectoriesPurgeRequestAndResponse.java
index 2b0889ec579..aea9e41e025 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMDirectoriesPurgeRequestAndResponse.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMDirectoriesPurgeRequestAndResponse.java
@@ -207,14 +207,14 @@ private PurgePathRequest wrapPurgeRequest(
for (OmKeyInfo purgeFile : purgeDeletedFiles) {
purgePathsRequest.addDeletedSubFiles(
- purgeFile.getProtobuf(true, ClientVersion.CURRENT.serialize()));
+ purgeFile.getProtobuf(true, ClientVersion.CURRENT));
}
// Add these directories to deletedDirTable, so that its sub-paths will be
// traversed in next iteration to ensure cleanup all sub-children.
for (OmKeyInfo dir : markDirsAsDeleted) {
purgePathsRequest.addMarkDeletedSubDirs(
- dir.getProtobuf(ClientVersion.CURRENT.serialize()));
+ dir.getProtobuf(ClientVersion.CURRENT));
}
return purgePathsRequest.build();
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/snapshot/TestOMSnapshotMoveTableKeysResponse.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/snapshot/TestOMSnapshotMoveTableKeysResponse.java
index 1df73f25861..031fbdd2b10 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/snapshot/TestOMSnapshotMoveTableKeysResponse.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/snapshot/TestOMSnapshotMoveTableKeysResponse.java
@@ -147,13 +147,13 @@ public void testMoveTableKeysToNextSnapshot(boolean
nextSnapshotExists) throws E
.forEachRemaining(entry -> {
deletedTable.add(OzoneManagerProtocolProtos.SnapshotMoveKeyInfos.newBuilder().setKey(entry.getKey())
.addAllKeyInfos(entry.getValue().getOmKeyInfoList().stream().map(omKeyInfo ->
omKeyInfo.getProtobuf(
-
ClientVersion.CURRENT.serialize())).collect(Collectors.toList())).build());
+
ClientVersion.CURRENT)).collect(Collectors.toList())).build());
});
snapshot.getMetadataManager().getDeletedDirTable().iterator()
.forEachRemaining(entry -> {
deletedDirTable.add(OzoneManagerProtocolProtos.SnapshotMoveKeyInfos.newBuilder().setKey(entry.getKey())
-
.addKeyInfos(entry.getValue().getProtobuf(ClientVersion.CURRENT.serialize())).build());
+
.addKeyInfos(entry.getValue().getProtobuf(ClientVersion.CURRENT)).build());
});
snapshot.getMetadataManager().getSnapshotRenamedTable().iterator().forEachRemaining(entry
-> {
renamedTable.add(HddsProtos.KeyValue.newBuilder().setKey(entry.getKey()).setValue(entry.getValue()).build());
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/service/TestSnapshotDeletingService.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/service/TestSnapshotDeletingService.java
index a6af3c0a70a..7a61087c8ac 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/service/TestSnapshotDeletingService.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/service/TestSnapshotDeletingService.java
@@ -336,7 +336,7 @@ private List<SnapshotMoveKeyInfos>
createLargeDeletedKeys(int count) {
SnapshotMoveKeyInfos moveKeyInfo = SnapshotMoveKeyInfos.newBuilder()
.setKey(largeKeyName)
.addAllKeyInfos(keyInfos.stream()
- .map(k -> k.getProtobuf(ClientVersion.CURRENT.serialize()))
+ .map(k -> k.getProtobuf(ClientVersion.CURRENT))
.collect(Collectors.toList()))
.build();
deletedKeys.add(moveKeyInfo);
@@ -371,7 +371,7 @@ private List<SnapshotMoveKeyInfos>
createLargeDeletedDirs(int count) {
SnapshotMoveKeyInfos moveDirInfo = SnapshotMoveKeyInfos.newBuilder()
.setKey(largeDirName)
- .addKeyInfos(dirInfo.getProtobuf(ClientVersion.CURRENT.serialize()))
+ .addKeyInfos(dirInfo.getProtobuf(ClientVersion.CURRENT))
.build();
deletedDirs.add(moveDirInfo);
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/protocolPB/TestOzoneManagerRequestHandler.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/protocolPB/TestOzoneManagerRequestHandler.java
index 0601713b795..9531942e9c1 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/protocolPB/TestOzoneManagerRequestHandler.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/protocolPB/TestOzoneManagerRequestHandler.java
@@ -33,6 +33,7 @@
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
import org.apache.hadoop.metrics2.lib.MutableRate;
+import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.audit.AuditLogger;
import org.apache.hadoop.ozone.audit.AuditMessage;
import org.apache.hadoop.ozone.om.OMPerformanceMetrics;
@@ -77,8 +78,8 @@ private OmKeyInfo getMockedOmKeyInfo() {
OzoneManagerProtocolProtos.KeyInfo.newBuilder().setBucketName("bucket").setKeyName("key").setVolumeName(
"volume").setDataSize(0).setType(HddsProtos.ReplicationType.RATIS).setCreationTime(0)
.setModificationTime(0).build();
- Mockito.when(keyInfo.getProtobuf(Mockito.anyBoolean(),
Mockito.anyInt())).thenReturn(info);
- Mockito.when(keyInfo.getProtobuf(Mockito.anyInt())).thenReturn(info);
+ Mockito.when(keyInfo.getProtobuf(Mockito.anyBoolean(),
any(ClientVersion.class))).thenReturn(info);
+
Mockito.when(keyInfo.getProtobuf(any(ClientVersion.class))).thenReturn(info);
return keyInfo;
}
@@ -176,7 +177,7 @@ public void getFileStatusForwardsHeadOpAndStripsLocations()
throws IOException {
.setVersion(0).build())
.build())
.build();
- Mockito.when(status.getProtobuf(Mockito.anyInt())).thenReturn(proto);
+
Mockito.when(status.getProtobuf(any(ClientVersion.class))).thenReturn(proto);
ArgumentCaptor<OmKeyArgs> captor =
ArgumentCaptor.forClass(OmKeyArgs.class);
Mockito.when(ozoneManager.getFileStatus(captor.capture())).thenReturn(status);
@@ -212,7 +213,7 @@ public void getFileStatusHeadOpWithoutKeyInfoIsNoop()
throws IOException {
OzoneManager ozoneManager = requestHandler.getOzoneManager();
OzoneFileStatus status = Mockito.mock(OzoneFileStatus.class);
- Mockito.when(status.getProtobuf(Mockito.anyInt())).thenReturn(
+ Mockito.when(status.getProtobuf(any(ClientVersion.class))).thenReturn(
OzoneManagerProtocolProtos.OzoneFileStatusProto.newBuilder()
.setIsDirectory(true).build());
Mockito.when(ozoneManager.getFileStatus(Mockito.any())).thenReturn(status);
diff --git
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/NodeEndpoint.java
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/NodeEndpoint.java
index 201e0541ad9..35397723d25 100644
---
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/NodeEndpoint.java
+++
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/NodeEndpoint.java
@@ -357,7 +357,7 @@ private Response getDecommissionStatusResponse(String uuid,
String ipAddress) th
Response.ResponseBuilder builder = Response.status(Response.Status.OK);
Map<String, Object> responseMap = new HashMap<>();
Stream<HddsProtos.Node> allNodes = scmClient.queryNode(DECOMMISSIONING,
- null, HddsProtos.QueryScope.CLUSTER, "",
ClientVersion.CURRENT.serialize()).stream();
+ null, HddsProtos.QueryScope.CLUSTER, "",
ClientVersion.CURRENT).stream();
List<HddsProtos.Node> decommissioningNodes =
DecommissionUtils.getDecommissioningNodesList(allNodes, uuid,
ipAddress);
String metricsJson =
scmClient.getMetrics("Hadoop:service=StorageContainerManager,name=NodeDecommissionMetrics");
diff --git
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/scm/ReconPipelineManager.java
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/scm/ReconPipelineManager.java
index 58df5a67530..92c84a7bd9b 100644
---
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/scm/ReconPipelineManager.java
+++
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/scm/ReconPipelineManager.java
@@ -166,7 +166,7 @@ public boolean addPipeline(Pipeline pipeline) throws
IOException {
if (containsPipeline(pipeline.getId())) {
return false;
}
-
getStateManager().addPipeline(pipeline.getProtobufMessage(ClientVersion.CURRENT.serialize()));
+
getStateManager().addPipeline(pipeline.getProtobufMessage(ClientVersion.CURRENT));
return true;
} finally {
releaseWriteLock();
diff --git
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/StorageContainerServiceProviderImpl.java
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/StorageContainerServiceProviderImpl.java
index 41ea241b3d8..82ab1cb227e 100644
---
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/StorageContainerServiceProviderImpl.java
+++
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/StorageContainerServiceProviderImpl.java
@@ -114,7 +114,7 @@ public List<ContainerWithPipeline>
getExistContainerWithPipelinesInBatch(
@Override
public List<HddsProtos.Node> getNodes() throws IOException {
return scmClient.queryNode(null, null, HddsProtos.QueryScope.CLUSTER,
- "", ClientVersion.CURRENT.serialize());
+ "", ClientVersion.CURRENT);
}
@Override
diff --git
a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestEndpoints.java
b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestEndpoints.java
index d4e73ca32b3..cb11d56d394 100644
---
a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestEndpoints.java
+++
b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestEndpoints.java
@@ -100,6 +100,7 @@
import org.apache.hadoop.hdds.utils.db.Table;
import org.apache.hadoop.hdds.utils.db.TypedTable;
import org.apache.hadoop.hdfs.web.URLConnectionFactory;
+import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.OzoneAcl;
import org.apache.hadoop.ozone.OzoneConsts;
import org.apache.hadoop.ozone.om.OMMetadataManager;
@@ -1359,7 +1360,7 @@ public void testExplicitRemovalOfNonExistingNode() {
@Test
public void testSuccessWhenDecommissionStatus() throws IOException {
- when(mockScmClient.queryNode(any(), any(), any(), any(),
any(Integer.class))).thenReturn(
+ when(mockScmClient.queryNode(any(), any(), any(), any(),
any(ClientVersion.class))).thenReturn(
nodes); // 2 nodes decommissioning
when(mockScmClient.getContainersOnDecomNode(any())).thenReturn(containerOnDecom);
when(mockScmClient.getMetrics(any())).thenReturn(metrics.get(1));
@@ -1385,7 +1386,7 @@ public void testSuccessWhenDecommissionStatus() throws
IOException {
@Test
public void testSuccessWhenDecommissionStatusWithUUID() throws IOException {
- when(mockScmClient.queryNode(any(), any(), any(), any(),
any(Integer.class))).thenReturn(
+ when(mockScmClient.queryNode(any(), any(), any(), any(),
any(ClientVersion.class))).thenReturn(
getNodeDetailsForUuid("654c4b89-04ef-4015-8a3b-50d0fb0e1684")); // 1
nodes decommissioning
when(mockScmClient.getContainersOnDecomNode(any())).thenReturn(containerOnDecom);
Response datanodesDecommissionInfo =
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]