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

Sean Busbey reassigned AVRO-1931:
---------------------------------

    Assignee: Anders Sundelin

> 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.7.7, 1.8.1
>         Environment: Java
>            Reporter: Anders Sundelin
>            Assignee: Anders Sundelin
>            Priority: Minor
>              Labels: patch
>         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.4.14#64029)

Reply via email to