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

Andrew Swan commented on CASSANDRA-4097:
----------------------------------------

In the {{lib}} folder there are two files with "{{avro}}" in the name:
* {{lib/avro-1.4.0-fixes.jar}}
* {{lib/avro-1.4.0-sources-fixes.jar}}

The latter JAR file indeed contains the source code for the classes that need 
their packages changed, but this JAR file looks to be a build artifact (e.g. it 
has a generated manifest file), not a genuine source folder. Surely that source 
is elsewhere. If I'm to contribute a patch that moves these classes, I'm going 
to need to change the real source files, not just the contents of this JAR 
file, correct?
                
> Classes in org.apache.cassandra.deps:avro:1.4.0-cassandra-1 clash with core 
> Avro classes
> ----------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-4097
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4097
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.7.0
>            Reporter: Andrew Swan
>            Priority: Minor
>
> Cassandra has this dependency:
> {code:title=build.xml}...
> <dependency groupId="org.apache.cassandra.deps" artifactId="avro" 
> version="1.4.0-cassandra-1">
> ...{code}
> Unfortunately this JAR file contains classes in the {{org.apache.avro}} 
> package that are incompatible with classes of the same fully-qualified name 
> in the current release of Avro. For example, the inner class 
> {{org.apache.avro.Schema$Parser}} found in Avro 1.6.1 is missing from the 
> Cassandra version of that class. This makes it impossible to have both 
> Cassandra and the latest Avro version on the classpath (my use case is an 
> application that embeds Cassandra but also uses Avro 1.6.1 for unrelated 
> serialization purposes). A simple and risk-free solution would be to change 
> the package declaration of Cassandra's Avro classes from {{org.apache.avro}} 
> to (say) {{org.apache.cassandra.avro}}, assuming that the above dependency is 
> only used by Cassandra and no other projects (which seems a reasonable 
> assumption given its name).

--
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