Martin Boyle created AVRO-1815:
----------------------------------
Summary: Incompatible schema change not detected when wrapped in a
UNION
Key: AVRO-1815
URL: https://issues.apache.org/jira/browse/AVRO-1815
Project: Avro
Issue Type: Bug
Components: java
Affects Versions: 1.7.7
Reporter: Martin Boyle
An incompatible schema change is not detected when it is in a UNION and the
change is to the value type of a map e.g.
field
{ "name": "segmentEkv", "type": ["null", {"type": "map", "values": {"type":
"map", "values": "string"}}], "default": null},
changes to
{ "name": "segmentEkv", "type": ["null", {"type": "map", "values": {"type":
"array", "items": "int"}}], "default": null},
The SchemaValidatorBuilder() will pass this as being compatible. Whereas
SchemaCompatibility.check_reader_writer_compatibility will return an
incompatible result. The problem for me is that the Confluent Schema Registry
uses SchemaValidatorBuilder.
Problem appears to be that while the ResolvingGrammerGenerator correctly marks
the field as being an incompatible change, the check for errors on the Symbol
object does not descend into the UnionAdjustActionField
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)