cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Swan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-4097) Classes in org.apache.cassandra.deps:avro:1.4.0-cassandra-1 clash with core Avro classes
Date Mon, 05 Nov 2012 23:26:12 GMT

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

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

Hi Rahul,

For unrelated reasons we stopped using Avro, so I don't run into this problem any more.

However it seems like it would be easy to fix - just move the conflicting classes from one
package to another, and rebuild any dependent projects (e.g. Cassandra itself). I guess there
aren't enough people using both Avro and Cassandra in the same JVM for this to be worth solving.
                
> 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
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message