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