avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anders Sundelin (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AVRO-1931) SchemaCompatibility fails to recognize reader compatible with all branches of a union
Date Tue, 11 Oct 2016 12:34:20 GMT

     [ https://issues.apache.org/jira/browse/AVRO-1931?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Anders Sundelin updated AVRO-1931:
----------------------------------
    Attachment: AVRO-1931-2.patch

Updated with more test cases, showing inconsistencies with float unions

> SchemaCompatibility fails to recognize reader compatible with all branches of a union
> -------------------------------------------------------------------------------------
>
>                 Key: AVRO-1931
>                 URL: https://issues.apache.org/jira/browse/AVRO-1931
>             Project: Avro
>          Issue Type: Bug
>          Components: java
>    Affects Versions: 1.8.1
>         Environment: Java
>            Reporter: Anders Sundelin
>            Priority: Minor
>         Attachments: AVRO-1931-2.patch
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> It is stated in the Avro spec
> "if writer's is a union, but reader's is not:
> If the reader's schema matches the selected writer's schema, it is recursively resolved
against it. If they do not match, an error is signalled."
> In case a the chosen reader is compatible with all branches of the union in the writer,
then the class SchemaCompatibility should reflect this. Currently it does not.
> The submitted patch corrects this (also added tests showing this behaviour in Avro)
> The new tests, in the class TestReadingWritingDataInEvolvedSchemas, could be redundant,
but they were very useful when exploring how Avro actually works during de-/serialization
> I will try to continue working a little bit on the SchemaCompatibility class, adding
more user-friendly error messages (suitable for deeper structures than todays error message).
Feel free to contact me if you have any ideas or pointers to existing work.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message