avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Allan Shoup (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AVRO-1620) Classloader Differences When Copying Records Results in ClassCastException
Date Wed, 10 Dec 2014 22:37:12 GMT

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

Allan Shoup updated AVRO-1620:
------------------------------
    Attachment: AVRO-1620.patch

Attaching my attempt to fix the issue. Due to the nature of working with multiple classloaders,
the test is fairly complicated. I would welcome any suggestions to make it simpler.

> Classloader Differences When Copying Records Results in ClassCastException
> --------------------------------------------------------------------------
>
>                 Key: AVRO-1620
>                 URL: https://issues.apache.org/jira/browse/AVRO-1620
>             Project: Avro
>          Issue Type: Bug
>          Components: java
>    Affects Versions: 1.7.7
>            Reporter: Allan Shoup
>         Attachments: AVRO-1620.patch
>
>
> Similar to the situation described in AVRO-1240, a parent classloader contains the avro
classes and a separate classloader contains the avro specific record classes. When using the
generated 
> {code}
> newBuilder(SpecificRecord other)
> {code}
> or 
> {code}
> newBuilder(SpecificRecord.Builder other)
> {code}
> methods to duplicate records, the generated code will cause an exception similar to this:
> {noformat}
> Caused by: java.lang.ClassCastException: org.apache.avro.generic.GenericData$Record cannot
be cast to my.specific.Record
> 	at my.specific.Record$Builder.<init>(Record.java:149)
> 	at my.specific.Record$Builder.<init>(Record.java:121)
> 	at my.specific.Record.newBuilder(Record.java:115)
> 	... 19 more
> {noformat}



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

Mime
View raw message