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

Ryan Blue commented on AVRO-1569:
---------------------------------

bq. AVRO-1568 handles the serialization of Derived as a complete Derived object.

Great, fixing the storage seems like the right way to go here since the type 
doesn't match. With the storage fix, is there still a bug when resolving the 
union? It seems that there wouldn't be since the correct full name would be 
used for the record. I'd much rather tackle this problem once that one is 
solved.

> ReflectData.AllowNull fails with polymorphism
> ---------------------------------------------
>
>                 Key: AVRO-1569
>                 URL: https://issues.apache.org/jira/browse/AVRO-1569
>             Project: Avro
>          Issue Type: Bug
>    Affects Versions: 1.7.6
>            Reporter: Sachin Goyal
>
> UnresolvedUnionException is thrown if the following structure is serialized 
> with ReflectData.AllowNull
> (Plain ReflectData works fine)
> {code}
> class Base 
> {
>    Integer a = 5;
> }
> class Derived extends Base
> {
>     String b = "Foo";
> }
> class PolymorphicDO
> {
>    Base obj = new Derived();
> }
> // Serialization code:
> ReflectData rdata = ReflectData.AllowNull.get();
> Schema schema = rdata.getSchema(PolymorphicDO.class);
> ReflectDatumWriter<T> datumWriter = new ReflectDatumWriter 
> (PolymorphicDO.class, rdata);
> DataFileWriter<T> fileWriter = new DataFileWriter<T> (datumWriter);
> fileWriter.create(schema, new ByteArrayOutputStream());
> fileWriter.append(new PolymorphicDO());
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to