sijie commented on issue #3741: POJO AvroSchema always allowNull URL: https://github.com/apache/pulsar/issues/3741#issuecomment-469572165 > yup though I am not sure setting AllowNull is producing an incompatible schema. Incompatible to what? @jerrypeng `ReflectData.AllowNull` and `ReflectData` are generating two different incompatible schemas. I have been explaining to you guys in previous comments: my broader concern is NOT about generated POJO, is about using a same POJO class across many different systems using AVRO as the standard serialization format where people are using `ReflectData` not `ReflectData.AllowNull` (the second case explained at https://github.com/apache/pulsar/issues/3741#issuecomment-469506795). > my implementation could just have easily set allow null. Thus, this doesn't seem like big deal and arbitrary. well it is a big deal when exchanging data between systems using same POJO. > Should we not preserve that semantic? If Pulsar uses AVRO on POJOs, I don't think it is the responsibility for Pulsar to preserve its own semantic. It should preserve what AVRO *preserves* for everyone because this is the rules of all other systems follow when using AVRO. That's the most important thing when AVRO is used as a standard data format across data systems. Currently Pulsar's AllowNull implementation violates it. > but I think the bigger problem here is the one with shading The shading bug is new to me. I agreed that we need to fix it.
---------------------------------------------------------------- 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] With regards, Apache Git Services
