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

Reply via email to