[
https://issues.apache.org/jira/browse/AVRO-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Martin Boyle updated AVRO-1815:
-------------------------------
Attachment: AVRO-1815.patch
> 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
> Attachments: AVRO-1815.patch
>
>
> 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)