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

Nandor Kollar commented on AVRO-1931:
-------------------------------------

The patch looks good to me, though it was a bit hard to understand the wording 
of the relevant part of the specification.

[~epkanol] since the specification says that int and long are promotable to 
float, I think we should allow float unions to read int or long unions, and if 
this behavior is questionable, that should be a different Jira (and we should 
also modify the specification).

[~sacharya] looks like this is important for Avro users, I saw an email related 
to this Jira popping up in the user's list, and Anders addressed your concern 
on the pull request. Is there anything else required to merge this PR to 
master? Is it an incompatible change?

> 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.4.14#64029)

Reply via email to