Which one is the writer and which is the reader? Sent from my iPhone
> On May 4, 2023, at 22:47, KV 59 <kvajjal...@gmail.com> wrote: > > > Hi, > > I see that that java Avro compatibility check doesn't work as per > specification for enum schema evolution. I have a the following schema >> { >> "type" : "record", >> "name" : "TestEnumRec", >> "namespace" : "com.five9.avro.enum.test", >> "fields" : [ { >> "name" : "enumType", >> "type" : { >> "type" : "enum", >> "name" : "EnumType", >> "symbols" : [ "S1", "S2", "S3", "S4", "S5", "S6" ] >> } >> } ] >> } > > And another version of the same schema > >> { >> "type" : "record", >> "name" : "TestEnumRec", >> "namespace" : "com.five9.avro.enum.test", >> "fields" : [ { >> "name" : "enumType", >> "type" : { >> "type" : "enum", >> "name" : "EnumType", >> "symbols" : [ "S1", "S2", "S3", "S4", "S5", "S6", "S7" ] >> } >> } ] >> } > > These schemas show as compatible for mutual read > > This is not in line with what the specification says >> if both are enums: if the writer’s symbol is not present in the reader’s >> enum and the reader has a default value, then that value is used, otherwise >> an error is signalled. >> > > I have tried this in Avro 1.9.1 and 1.11.1. Is this a bug? If not, what am I > doing wrong? > > Appreciate reponses > > Regards, > Kishore