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] [Commented] (AVRO-1931) SchemaCompatibility fails to recognize reader compatible with all branches of a union
Date Mon, 27 Feb 2017 09:19:45 GMT

    [ https://issues.apache.org/jira/browse/AVRO-1931?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15885420#comment-15885420
] 

Anders Sundelin commented on AVRO-1931:
---------------------------------------

Sure could, I just wanted someone else to have a look at it, as I was new to Avro when I wrote
it. 
There is this thing with the float unions - but maybe this should be stated in the Avro spec
instead (see my comment from 11 Oct 2016). Floats being able to read ints or longs are questionable
in the first place...

> 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.15#6346)

Mime
View raw message