[
https://issues.apache.org/jira/browse/CASSANDRA-2263?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13040665#comment-13040665
]
Lars Wunderlich commented on CASSANDRA-2263:
--------------------------------------------
I don't know whether this issue should be documented in a separate bug for
0.8.0-rc1, but since this one deals with separation of jar file, I add the
comment here.
The following code fails on my machine:
Class.forName("org.apache.cassandra.cql.jdbc.CassandraDriver");
Connection c =
DriverManager.getConnection("jdbc:cassandra:/@localhost:9160/testspace");
As of apache-cassandra-0.8.0-rc1 together with apache-cassandra-cql-1.0.2.jar
the connection to local host couldn't be established, even though it was
running and the keyspace was fine, because of the following reasons:
1.) cql jar requires direct classpath relationship to
apache-cassandra-0.8.0-rc1.jar, without it cannot run at all, what contradicts
server implementation encapsulation/secret in my mind to attach core jar file:
Exception in thread "main" java.lang.NoClassDefFoundError:
org/apache/cassandra/db/marshal/AbstractType
at org.apache.cassandra.cql.jdbc.Connection.execute(Connection.java:142)
at org.apache.cassandra.cql.jdbc.Connection.execute(Connection.java:124)
at
org.apache.cassandra.cql.jdbc.CassandraConnection.<init>(CassandraConnection.java:83)
at
org.apache.cassandra.cql.jdbc.CassandraDriver.connect(CassandraDriver.java:86)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at TestConnection.main(TestConnection.java:18)
2.) apache-cassandra-0.8.0-rc1.jar internally contains
org.apache.cassandra.cql.jdbc package a second time, which might conflict with
the cql standalone jar version of the driver in terms of class compatibility.
3.) Using CassandraDriver from core apache-cassandra-0.8.0-rc1.jar results in
an error message that cassandra.yaml couldn't be found, but cassandra.yaml is
not required from my point of view for clients anyway.
Cannot locate cassandra.yaml
Fatal configuration error; unable to start server. See log for stacktrace.
> cql driver jar
> --------------
>
> Key: CASSANDRA-2263
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2263
> Project: Cassandra
> Issue Type: Bug
> Components: API
> Affects Versions: 0.8 beta 1
> Reporter: Eric Evans
> Priority: Minor
> Labels: cql
> Fix For: 1.0
>
> Original Estimate: 0h
> Remaining Estimate: 0h
>
> Work was done in CASSANDRA-1848 to create a jar for the CQL Java driver.
> The generated Thrfit code was broken out into it's own jar as well, since
> that is a dependency for both servers and clients. However, based on the work
> currently happening in CASSANDRA-2262 and CASSANDRA-2124, it seems that
> additional dependencies will exist, and new jar(s) will need to be created.
> The easiest way to fix this will probably be to put copies of all of
> {{o.a.c.db.marshal}} and {{o.a.c.utils}}, and a copy of
> {{o.a.c.config.ConfigurationException}} into the CQL driver jar (a split
> along those lines to create another jar doesn't make sense IMO).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira