[
https://issues.apache.org/jira/browse/AVRO-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16072480#comment-16072480
]
Nandor Kollar commented on AVRO-1815:
-------------------------------------
[~gdeschut] it looks like this issue is similar to AVRO-1883, which is fixed on
master and already included into 1.8.2 release. Is it possible for you to
upgrade to this release, and check if this is still an outstanding issue? I
quickly assembled a unit test to check the schema you provided, and looks like
validation fails with the expected incompatibility error.
> 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.4.14#64029)