avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Boyle (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AVRO-1815) Incompatible schema change not detected when wrapped in a UNION
Date Tue, 22 Mar 2016 11:01:25 GMT
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)

Mime
View raw message