avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Doug Cutting (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AVRO-941) Avro should support the Apache Maven Shade plugin class relocation feature
Date Fri, 28 Oct 2011 19:11:32 GMT

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

Doug Cutting commented on AVRO-941:

I'll commit this soon unless someone objects.  It's not perfect but it's better than nothing.
> Avro should support the Apache Maven Shade plugin class relocation feature
> --------------------------------------------------------------------------
>                 Key: AVRO-941
>                 URL: https://issues.apache.org/jira/browse/AVRO-941
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>    Affects Versions: 1.5.4
>            Reporter: Matt Massie
>         Attachments: shade.patch
> The Apache shade plugin allows maven builds to create an uber jar that contains dependencies
in the project.  In addition, the shade plugin allows you to relocate dependencies into a
private namespace to prevent class conflicts on shared class paths.  Avro does not support
> All generated Avro objects contain a string field named SCHEMA$ which serves as the authority
for the class namespace.  When the shade plugin updates the byte code to relocate the class,
it doesn't alter the SCHEMA$ string.  This break Avro use of reflection since the namespace
in SCHEMA$ points to an incorrect location.
> I spoke with Doug about the issue and he was kind enough to provide a quick hack in order
to fix this issue.  The hack is to check for mismatches between the byte code and the SCHEMA$
and, when they don't match, to defer to the byte code.  I'll attach Doug's patch to this Jira.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message