Quick question: is reordering the values of an enum a backward compatible
change?
Per the Avro 1.8.2 documentation: "An enum is encoded by a int,
representing the zero-based position of the symbol in the schema."
If my enum is:
{"type": "enum", "name": "Foo", "symbols": ["A", "B", "C", "D"] }
And I update it to
{"type": "enum", "name": "Foo", "symbols": ["A", "B", "C", "E", "F", "D"] }
If a writer with the older schema will produce messages using enum value
"D" encoded as int 3.
Then a reader with the newer schema will consume messages with value 3 and
decoded it as enum value "E".
If this is the case, then reordering enums is just as non-backward
compatible as adding new values is non-forward compatible, is it correct?