ProtobufNative Schema Support proposes to import a new protobuf-v3 schema 
based on protobuf native Descriptor, Current  `ProtobufSchema` is based on AVRO 
schema,  this Causes the following restrictions :

ProtobufSchema based on  avro-protobuf only works only when JVM classloader can 
load `Java implementation class of GeneratedMessageV3` . this is unfriendly  
for Long-Running server ( e.g. Presto ), restart server for update class is 
unfriendly.
Avro schema describe protoSchema have losses , so based `ProtobufSchema` can’t 
support `AutoConsume` for `DynamicMessage`.
The amount of support avro language is less than support protobuf language .
    In consideration of backward compatibility , we add a new type  
`SchemaType.PROTOBUF_NATIVE` base on protobuf-v3 native Descriptor instead of 
modify SchemaType.PROTOBUF, aim to support `GenericProtobufNativeSchema` and 
`AutoConsumeSchema` for PROTOBUF : 



GOOGLE-DOC : 
https://docs.google.com/document/d/1XR_MNOuSXyig-CKsdVhr6IXvFwziBRdSoS3oEUiLFe8/edit#

PrototypeCode : https://github.com/apache/pulsar/pull/8372


Reply via email to