This is an automated email from the ASF dual-hosted git repository.
szetszwo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new ea7c47f3708 HDDS-14623. Remove ProtoUtils (#9783)
ea7c47f3708 is described below
commit ea7c47f370882e58d3a1ef6a419979262aec2024
Author: Russole <[email protected]>
AuthorDate: Thu Feb 19 03:27:22 2026 +0800
HDDS-14623. Remove ProtoUtils (#9783)
---
.../main/java/com/google/protobuf/ProtoUtils.java | 32 ----------------------
.../TestReconstructECContainersCommandHandler.java | 4 +--
.../states/endpoint/TestHeartbeatEndpointTask.java | 4 +--
.../replication/TestReplicationSupervisor.java | 4 +--
.../TestReconstructionECContainersCommands.java | 6 ++--
.../replication/ECUnderReplicationHandler.java | 6 ++--
.../replication/TestReplicationManager.java | 6 ++--
.../java/org/apache/hadoop/ozone/OzoneAcl.java | 4 +--
...OzoneManagerProtocolClientSideTranslatorPB.java | 8 ++++--
.../org/apache/hadoop/ozone/util/PayloadUtils.java | 5 ++--
10 files changed, 27 insertions(+), 52 deletions(-)
diff --git
a/hadoop-hdds/common/src/main/java/com/google/protobuf/ProtoUtils.java
b/hadoop-hdds/common/src/main/java/com/google/protobuf/ProtoUtils.java
deleted file mode 100644
index e8355a93bd8..00000000000
--- a/hadoop-hdds/common/src/main/java/com/google/protobuf/ProtoUtils.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.google.protobuf;
-
-/** Utilities for unshaded protobuf. */
-public final class ProtoUtils {
- /**
- * Similar to {@link ByteString#copyFrom(byte[])} except that this method
does not copy.
- * This method is safe only if the content of the array remains unchanged.
- * Otherwise, it violates the immutability of {@link ByteString}.
- */
- public static ByteString unsafeByteString(byte[] array) {
- return array != null && array.length > 0 ? ByteString.wrap(array) :
ByteString.EMPTY;
- }
-
- private ProtoUtils() { }
-}
diff --git
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestReconstructECContainersCommandHandler.java
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestReconstructECContainersCommandHandler.java
index 81c2ae907c5..9098e497da4 100644
---
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestReconstructECContainersCommandHandler.java
+++
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestReconstructECContainersCommandHandler.java
@@ -24,7 +24,7 @@
import static org.mockito.Mockito.when;
import com.google.protobuf.ByteString;
-import com.google.protobuf.ProtoUtils;
+import com.google.protobuf.UnsafeByteOperations;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -78,7 +78,7 @@ public void testMetrics() {
CommandHandlerMetrics metrics = CommandHandlerMetrics.create(handlerMap);
try {
byte[] missingIndexes = {1, 2};
- ByteString missingContainerIndexes =
ProtoUtils.unsafeByteString(missingIndexes);
+ ByteString missingContainerIndexes =
UnsafeByteOperations.unsafeWrap(missingIndexes);
ECReplicationConfig ecReplicationConfig = new ECReplicationConfig(3, 2);
List<DatanodeDetails> dnDetails = getDNDetails(5);
List<ReconstructECContainersCommand.DatanodeDetailsAndReplicaIndex>
sources =
diff --git
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/states/endpoint/TestHeartbeatEndpointTask.java
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/states/endpoint/TestHeartbeatEndpointTask.java
index 045802b8c0c..e2b4fa167ea 100644
---
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/states/endpoint/TestHeartbeatEndpointTask.java
+++
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/states/endpoint/TestHeartbeatEndpointTask.java
@@ -29,7 +29,7 @@
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-import com.google.protobuf.ProtoUtils;
+import com.google.protobuf.UnsafeByteOperations;
import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.HashSet;
@@ -80,7 +80,7 @@ public void handlesReconstructContainerCommand() throws
Exception {
targetDns.add(MockDatanodeDetails.randomDatanodeDetails());
ReconstructECContainersCommand cmd = new ReconstructECContainersCommand(
1, emptyList(), targetDns,
- ProtoUtils.unsafeByteString(new byte[]{2, 5}),
+ UnsafeByteOperations.unsafeWrap(new byte[]{2, 5}),
new ECReplicationConfig(3, 2));
when(scm.sendHeartbeat(any()))
diff --git
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/replication/TestReplicationSupervisor.java
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/replication/TestReplicationSupervisor.java
index 48fad6dab87..9ceb0a99e9f 100644
---
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/replication/TestReplicationSupervisor.java
+++
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/replication/TestReplicationSupervisor.java
@@ -40,7 +40,7 @@
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-import com.google.protobuf.ProtoUtils;
+import com.google.protobuf.UnsafeByteOperations;
import jakarta.annotation.Nonnull;
import java.io.File;
import java.io.IOException;
@@ -1000,7 +1000,7 @@ private static ReconstructECContainersCommand
createReconstructionCmd(
List<DatanodeDetails> target = singletonList(
MockDatanodeDetails.randomDatanodeDetails());
ReconstructECContainersCommand cmd = new
ReconstructECContainersCommand(containerId, sources, target,
- ProtoUtils.unsafeByteString(missingIndexes),
+ UnsafeByteOperations.unsafeWrap(missingIndexes),
new ECReplicationConfig(3, 2));
cmd.setTerm(CURRENT_TERM);
return cmd;
diff --git
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/protocol/commands/TestReconstructionECContainersCommands.java
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/protocol/commands/TestReconstructionECContainersCommands.java
index c21bbaeda55..2cd19a556a9 100644
---
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/protocol/commands/TestReconstructionECContainersCommands.java
+++
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/protocol/commands/TestReconstructionECContainersCommands.java
@@ -22,7 +22,7 @@
import static org.junit.jupiter.api.Assertions.assertThrows;
import com.google.protobuf.ByteString;
-import com.google.protobuf.ProtoUtils;
+import com.google.protobuf.UnsafeByteOperations;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -42,7 +42,7 @@ public class TestReconstructionECContainersCommands {
@Test
public void testExceptionIfSourceAndMissingNotSameLength() {
ECReplicationConfig ecReplicationConfig = new ECReplicationConfig(3, 2);
- final ByteString missingContainerIndexes = ProtoUtils.unsafeByteString(new
byte[]{1, 2});
+ final ByteString missingContainerIndexes =
UnsafeByteOperations.unsafeWrap(new byte[]{1, 2});
List<DatanodeDetails> targetDns = new ArrayList<>();
targetDns.add(MockDatanodeDetails.randomDatanodeDetails());
@@ -55,7 +55,7 @@ public void testExceptionIfSourceAndMissingNotSameLength() {
@Test
public void protobufConversion() {
byte[] missingIndexes = {1, 2};
- final ByteString missingContainerIndexes =
ProtoUtils.unsafeByteString(missingIndexes);
+ final ByteString missingContainerIndexes =
UnsafeByteOperations.unsafeWrap(missingIndexes);
ECReplicationConfig ecReplicationConfig = new ECReplicationConfig(3, 2);
final List<DatanodeDetails> dnDetails = getDNDetails(5);
diff --git
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/replication/ECUnderReplicationHandler.java
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/replication/ECUnderReplicationHandler.java
index 85b6e05c837..0bf886569c9 100644
---
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/replication/ECUnderReplicationHandler.java
+++
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/replication/ECUnderReplicationHandler.java
@@ -22,7 +22,7 @@
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.protobuf.ByteString;
-import com.google.protobuf.ProtoUtils;
+import com.google.protobuf.UnsafeByteOperations;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
@@ -630,7 +630,9 @@ static ByteString integers2ByteString(List<Integer> src) {
for (int i = 0; i < src.size(); i++) {
dst[i] = src.get(i).byteValue();
}
- return ProtoUtils.unsafeByteString(dst);
+
+ return dst.length > 0 ? UnsafeByteOperations.unsafeWrap(dst)
+ : ByteString.EMPTY;
}
/**
diff --git
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/replication/TestReplicationManager.java
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/replication/TestReplicationManager.java
index aefe3a67440..1d7d619efb0 100644
---
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/replication/TestReplicationManager.java
+++
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/replication/TestReplicationManager.java
@@ -49,7 +49,7 @@
import static org.mockito.Mockito.when;
import com.google.common.collect.Lists;
-import com.google.protobuf.ProtoUtils;
+import com.google.protobuf.UnsafeByteOperations;
import java.io.IOException;
import java.time.Instant;
import java.time.ZoneId;
@@ -1162,7 +1162,7 @@ public void testSendDatanodeReconstructCommand() throws
NotLeaderException {
ReconstructECContainersCommand command = new
ReconstructECContainersCommand(
containerInfo.getContainerID(), sourceNodes, targetNodes,
- ProtoUtils.unsafeByteString(missingIndexes), ecRepConfig);
+ UnsafeByteOperations.unsafeWrap(missingIndexes), ecRepConfig);
replicationManager.sendDatanodeCommand(command, containerInfo, target4);
@@ -1482,7 +1482,7 @@ private ReconstructECContainersCommand
createReconstructionCommand(
byte[] missingIndexes = new byte[]{4, 5};
return new ReconstructECContainersCommand(
containerInfo.getContainerID(), sources,
- Arrays.asList(targets), ProtoUtils.unsafeByteString(missingIndexes),
+ Arrays.asList(targets),
UnsafeByteOperations.unsafeWrap(missingIndexes),
(ECReplicationConfig) repConfig);
}
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/OzoneAcl.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/OzoneAcl.java
index 810ed570786..bb7ae0d93da 100644
--- a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/OzoneAcl.java
+++ b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/OzoneAcl.java
@@ -26,7 +26,7 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.google.common.annotations.VisibleForTesting;
import com.google.protobuf.ByteString;
-import com.google.protobuf.ProtoUtils;
+import com.google.protobuf.UnsafeByteOperations;
import java.util.ArrayList;
import java.util.BitSet;
import java.util.Collections;
@@ -310,7 +310,7 @@ public ByteString getAclByteString() {
final byte first = (byte) aclBits;
final byte second = (byte) (aclBits >>> 8);
final byte[] bytes = second != 0 ? new byte[]{first, second} : new
byte[]{first};
- return ProtoUtils.unsafeByteString(bytes);
+ return UnsafeByteOperations.unsafeWrap(bytes);
}
@JsonIgnore
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 8e1f036d4f2..9f09fb37e03 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
@@ -29,7 +29,7 @@
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
import com.google.protobuf.ByteString;
-import com.google.protobuf.ProtoUtils;
+import com.google.protobuf.UnsafeByteOperations;
import jakarta.annotation.Nonnull;
import java.io.IOException;
import java.time.Instant;
@@ -2488,9 +2488,13 @@ public CancelPrepareResponse cancelOzoneManagerPrepare()
throws IOException {
@Override
public EchoRPCResponse echoRPCReq(byte[] payloadReq, int
payloadSizeRespBytes,
boolean writeToRatis) throws IOException {
+
+ ByteString payload = payloadReq != null && payloadReq.length > 0
+ ? UnsafeByteOperations.unsafeWrap(payloadReq) : ByteString.EMPTY;
+
EchoRPCRequest echoRPCRequest =
EchoRPCRequest.newBuilder()
- .setPayloadReq(ProtoUtils.unsafeByteString(payloadReq))
+ .setPayloadReq(payload)
.setPayloadSizeResp(payloadSizeRespBytes)
.setReadOnly(!writeToRatis)
.build();
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/util/PayloadUtils.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/util/PayloadUtils.java
index c6b66c253db..3a8a7fc791c 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/util/PayloadUtils.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/util/PayloadUtils.java
@@ -17,7 +17,6 @@
package org.apache.hadoop.ozone.util;
-import com.google.protobuf.ProtoUtils;
import org.apache.commons.lang3.RandomUtils;
import org.apache.ratis.thirdparty.com.google.protobuf.ByteString;
import org.apache.ratis.thirdparty.com.google.protobuf.UnsafeByteOperations;
@@ -52,7 +51,9 @@ public static byte[] generatePayload(int payloadSizeBytes) {
}
public static com.google.protobuf.ByteString generatePayloadProto2(int
payloadSizeBytes) {
- return ProtoUtils.unsafeByteString(generatePayload(payloadSizeBytes));
+ byte[] payload = generatePayload(payloadSizeBytes);
+ return payload.length > 0 ?
com.google.protobuf.UnsafeByteOperations.unsafeWrap(payload)
+ : com.google.protobuf.ByteString.EMPTY;
}
public static ByteString generatePayloadProto3(int payloadSizeBytes) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]