diff --git a/dev-support/docker/Dockerfile b/dev-support/docker/Dockerfile index e71e51c970c66..a3a73a2e9f2d9 100644 --- a/dev-support/docker/Dockerfile +++ b/dev-support/docker/Dockerfile @@ -111,7 +111,7 @@ ENV PATH "${PATH}:/opt/cmake/bin" # hadolint ignore=DL3003 RUN mkdir -p /opt/protobuf-src \ && curl -L -s -S \ - https://github.com/google/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz \ + https://github.com/protocolbuffers/protobuf/releases/download/v3.7.1/protobuf-java-3.7.1.tar.gz \ -o /opt/protobuf.tar.gz \ && tar xzf /opt/protobuf.tar.gz --strip-components 1 -C /opt/protobuf-src \ && cd /opt/protobuf-src \ diff --git a/hadoop-client-modules/hadoop-client-runtime/pom.xml b/hadoop-client-modules/hadoop-client-runtime/pom.xml index cb1a2f970c768..565e9682d5194 100644 --- a/hadoop-client-modules/hadoop-client-runtime/pom.xml +++ b/hadoop-client-modules/hadoop-client-runtime/pom.xml @@ -229,6 +229,13 @@ update* + + com.google.protobuf:protobuf-java + + google/protobuf/*.proto + google/protobuf/**/*.proto + + 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();