[ 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