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

Hong Tang commented on AVRO-23:
-------------------------------

bq. This is all an optimization to avoid deserializing while merging, right? 
Can't we deserialize as fast as we can read off disk anyway? We can simply read 
using the lastest version of the schema and re-write things.
No, in the usage case I described, this is more than optimization. The sources 
may come from different origins and there may not be a total ordering of the 
versions of R. I think one of the advantages of Avro over Protocol Buffer is 
that it does not require global coordination for schema evolution.

bq. If you really believe you must have this optimization, then you could build 
it into your container. Rather than using a union, keep an explicit array of 
schemas that you've seen.
Yes, I could work around the issue. However, schema evolution and 
bi-directional compatibility should be something that is closer to the 
framework than to the application. The analogy to your suggestion is that C++ 
does not need to provide method overloading, users can simply work around this 
issue by renaming methods with parameter types like addii(int, int), and 
adddd(double, double). 

> Schema.toString() fails for a union of versioned records.
> ---------------------------------------------------------
>
>                 Key: AVRO-23
>                 URL: https://issues.apache.org/jira/browse/AVRO-23
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>            Reporter: Hong Tang
>
> Schema.toString() fails to create a string representation for a union that 
> contains versioned records.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to