lhotari opened a new issue #7869: URL: https://github.com/apache/pulsar/issues/7869
Pulsar currently uses an 3.5.1 version of protobuf. This is an old version which was released in December 2017. The protobuf version is defined in https://github.com/apache/pulsar/blob/master/pom.xml#L125-L126 . The old protobuf version causes issues within Pulsar functions when a functions jar file includes protoc generated classes which have been created with a recent protoc version. Protoc generated classes from a Protobuf version >= 3.8.0 fail with error message `java.lang.NoSuchMethodError: 'com.google.protobuf.Descriptors$FileDescriptor com.google.protobuf.Descriptors$FileDescriptor.internalBuildGeneratedFileFrom(java.lang.String[], com.google.protobuf.Descriptors$FileDescriptor[])'` in a Protobuf runtime version < 3.8.0 . There might also be some other incompatibilities. Besides this concrete problem, it would be worthwhile to keep the protobuf dependency up-to-date by using a version that is compatible with the other dependencies used in Pulsar. The suggestion is to upgrade protobuf to 3.11.4 since 3.11.x is used in Apache Avro (3.11.1 in https://github.com/apache/avro/blob/master/lang/java/pom.xml#L50) . Besides upgrading protobuf, it is suggested to upgrade Apache Avro version used in Pulsar since the Avro's protobuf support depends on protobuf. The latest Avro version is 1.10.0 . Pulsar uses currently 1.9.1 (https://github.com/apache/pulsar/blob/master/pom.xml#L137) . ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
