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?