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