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

Philip Zeyliger commented on AVRO-941:
--------------------------------------

Instead of doing string substitution, the patch should probably only substitute 
the namespace field specifically.  If someone had the classname in a comment, 
it shouldn't be replaced, for example.

Otherwise, I'm a big fan of being able to shade avro when necessary.
                
> 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 relocation.
> 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

        

Reply via email to