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]


Reply via email to