diff --git a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/store/protocol/impl/pb/FederationProtocolPBTranslator.java b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/store/protocol/impl/pb/FederationProtocolPBTranslator.java
index baad11352f8a2..31ab9daed3006 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/store/protocol/impl/pb/FederationProtocolPBTranslator.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/store/protocol/impl/pb/FederationProtocolPBTranslator.java
@@ -22,7 +22,7 @@
import org.apache.commons.codec.binary.Base64;
-import com.google.protobuf.GeneratedMessage;
+import com.google.protobuf.GeneratedMessageV3;
import com.google.protobuf.Message;
import com.google.protobuf.Message.Builder;
import com.google.protobuf.MessageOrBuilder;
@@ -31,7 +31,7 @@
* Helper class for setting/getting data elements in an object backed by a
* protobuf implementation.
*/
-public class FederationProtocolPBTranslator {
/** Optional proto byte stream used to create this object. */
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormatProtobuf.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormatProtobuf.java
index 51379b8657392..1f42372686caf 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormatProtobuf.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormatProtobuf.java
@@ -1015,7 +1015,7 @@ private SectionName(String name) {
}
}
- private static int getOndiskTrunkSize(com.google.protobuf.GeneratedMessage s) {
+ private static int getOndiskTrunkSize(com.google.protobuf.GeneratedMessageV3 s) {
return CodedOutputStream.computeRawVarint32Size(s.getSerializedSize())
+ s.getSerializedSize();
}
diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml
index f8e73d187763c..b18d7a1109ac6 100644
--- a/hadoop-project/pom.xml
+++ b/hadoop-project/pom.xml
@@ -84,7 +84,7 @@
- 2.5.0
+ 3.7.1
${env.HADOOP_PROTOC_PATH}
3.4.13
diff --git a/hadoop-tools/hadoop-fs2img/src/main/java/org/apache/hadoop/hdfs/server/namenode/ImageWriter.java b/hadoop-tools/hadoop-fs2img/src/main/java/org/apache/hadoop/hdfs/server/namenode/ImageWriter.java
index d4a632cf06dcf..bb36e522b925e 100644
--- a/hadoop-tools/hadoop-fs2img/src/main/java/org/apache/hadoop/hdfs/server/namenode/ImageWriter.java
+++ b/hadoop-tools/hadoop-fs2img/src/main/java/org/apache/hadoop/hdfs/server/namenode/ImageWriter.java
@@ -266,7 +266,7 @@ synchronized void writeDirEntry(DirEntry e) throws IOException {
e.writeDelimitedTo(dirs);
}
- private static int getOndiskSize(com.google.protobuf.GeneratedMessage s) {
+ private static int getOndiskSize(com.google.protobuf.GeneratedMessageV3 s) {
return CodedOutputStream.computeRawVarint32Size(s.getSerializedSize())
+ s.getSerializedSize();
}
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/pb/PlacementConstraintToProtoConverter.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/pb/PlacementConstraintToProtoConverter.java
index 30f774136dcfe..d6514f22610dd 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/pb/PlacementConstraintToProtoConverter.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/pb/PlacementConstraintToProtoConverter.java
@@ -42,6 +42,7 @@
import org.apache.hadoop.yarn.proto.YarnProtos.TimedPlacementConstraintProto;
import com.google.protobuf.GeneratedMessage;
+import com.google.protobuf.GeneratedMessageV3;
/**
* {@code PlacementConstraintToProtoConverter} generates a
@@ -50,7 +51,7 @@
*/
@Private
public class PlacementConstraintToProtoConverter
- implements PlacementConstraint.Visitor {
+ implements PlacementConstraint.Visitor {
private PlacementConstraint placementConstraint;
@@ -65,7 +66,7 @@ public PlacementConstraintProto convert() {
}
@Override
- public GeneratedMessage visit(SingleConstraint constraint) {
+ public GeneratedMessageV3 visit(SingleConstraint constraint) {
SimplePlacementConstraintProto.Builder sb =
SimplePlacementConstraintProto.newBuilder();
@@ -94,7 +95,7 @@ public GeneratedMessage visit(SingleConstraint constraint) {
}
@Override
- public GeneratedMessage visit(TargetExpression target) {
+ public GeneratedMessageV3 visit(TargetExpression target) {
PlacementConstraintTargetProto.Builder tb =
PlacementConstraintTargetProto.newBuilder();
@@ -109,16 +110,16 @@ public GeneratedMessage visit(TargetExpression target) {
}
@Override
- public GeneratedMessage visit(TargetConstraint constraint) {
+ public GeneratedMessageV3 visit(TargetConstraint constraint) {
throw new YarnRuntimeException("Unexpected TargetConstraint found.");
}
@Override
- public GeneratedMessage visit(CardinalityConstraint constraint) {
+ public GeneratedMessageV3 visit(CardinalityConstraint constraint) {
throw new YarnRuntimeException("Unexpected CardinalityConstraint found.");
}
- private GeneratedMessage visitAndOr(
+ private GeneratedMessageV3 visitAndOr(
CompositeConstraint composite, CompositeType type) {
CompositePlacementConstraintProto.Builder cb =
CompositePlacementConstraintProto.newBuilder();
@@ -137,17 +138,17 @@ private GeneratedMessage visitAndOr(
}
@Override
- public GeneratedMessage visit(And constraint) {
+ public GeneratedMessageV3 visit(And constraint) {
return visitAndOr(constraint, CompositeType.AND);
}
@Override
- public GeneratedMessage visit(Or constraint) {
+ public GeneratedMessageV3 visit(Or constraint) {
return visitAndOr(constraint, CompositeType.OR);
}
@Override
- public GeneratedMessage visit(DelayedOr constraint) {
+ public GeneratedMessageV3 visit(DelayedOr constraint) {
CompositePlacementConstraintProto.Builder cb =
CompositePlacementConstraintProto.newBuilder();
@@ -166,7 +167,7 @@ public GeneratedMessage visit(DelayedOr constraint) {
}
@Override
- public GeneratedMessage visit(TimedPlacementConstraint constraint) {
+ public GeneratedMessageV3 visit(TimedPlacementConstraint constraint) {
TimedPlacementConstraintProto.Builder tb =
TimedPlacementConstraintProto.newBuilder();