Hi All, Based on [1], Pulsar has various primitive schema types and has a very clear mapping between java classes to primitive schema types.
But in code [2], Pulsar Function Source only handles the byte and String java classes primitive schema mapping while default all other primitive types to JSON schema. Also for byte class types, the NONE schema is used instead of the BYTES schema. All these differences cause confusion for users trying to use Pulsar Functions for the first time, and also make Pulsar Function not following the Pulsar Schema official document. Ideally, we should change the code [2], to make it following [1]. But such changes may lead to breaking behaviors for existing users who adapted their code to run the Pulsar Functions. I would like to hear your thoughts on this and see how we should proceed. Thank you! Regards [1] https://pulsar.apache.org/docs/2.11.x/schema-understand/#primitive-type [2] https://github.com/apache/pulsar/blob/master/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/source/TopicSchema.java#L124