You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Nandor Kollar (JIRA)" <ji...@apache.org> on 2017/07/03 14:02:00 UTC

[jira] [Commented] (AVRO-1815) Incompatible schema change not detected when wrapped in a UNION

    [ 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)