[
https://issues.apache.org/jira/browse/AVRO-1931?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Anders Sundelin reassigned AVRO-1931:
-------------------------------------
Assignee: (was: 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
> 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.3.15#6346)