You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cassandra.apache.org by John Sanda <jo...@gmail.com> on 2012/11/19 16:43:22 UTC

Changes for CQL drivers

I have been using the cassandra-jdbc driver for development. I using it
with Cassandra 1.1.6 and then recently I upgraded to 1.2.0 beta1. A lot of
my automated tests started failing after the upgrade, and then I upgraded
to beta2 with the same results. I should note that I did update my
dependencies in cassandra-jdbc to the beta2 versions. I took
queries/inserts from failing tests, ran them in cqlsh, and got the expected
results. I am aware of some of changes/features with the new CQL wire
protocol; so, in a local branch I updated the driver to
use org.apache.cassandra.transport.SimpleClient. This involved a couple
hacks like putting a copy of my cassandra.yaml on my tests classpath and
using a hard-coded value for the consistency level arg in
SimpleClient.execute and SimpleClient.executePrepared. With those changes
and enabling the native protocol on the server I got my tests passing.

Earlier today I came across
http://www.datastax.com/wp-content/uploads/2012/08/7_Datastax_Upcoming_Changes_in_Drivers.pdfon
the users list. I am using the JDBC driver for client code, and I am
at
a point now where I am blocked with the aforementioned issues. Are there
already changes underway to add support for using the native protocol in
the driver? Is the driver discussed in that presentation going to be a
replacement for the existing JDBC driver or will it be a replacement for
the Cassandra.Client instance to which the driver delegates requests? I am
reluctant to move forward with my local changes and/or open a feature
request on the cassandra-jdbc project for native protocol support if there
is already work underway.

It is also worth mentioning that I have submitted a patch to Liquibase[1]
to enable support for Cassandra. If/when my patch is applied then I will be
able to write an extension to provide Cassandra support. I want to keep
abreast of any major CQL/driver changes so that I can plan for them as
necessary with my Liquibase plugin.

[1] http://www.liquibase.org


Thanks

- John

Re: Changes for CQL drivers

Posted by Michaël Figuière <mi...@gmail.com>.
We've just released the driver I was talking about in these slides:
https://github.com/datastax/java-driver

We plan to merge the work started on cassandra-jdbc with this new driver
and have JDBC as as extra module that can be plugged on top of the core
one. This JDBC layer should be available somewhere around Cassandra 1.2
release. A driver GA release should be available in early Q1 2013 but some
beta/rc will be available before.

Michaël

On Mon, Nov 19, 2012 at 4:43 PM, John Sanda <jo...@gmail.com> wrote:

> I have been using the cassandra-jdbc driver for development. I using it
> with Cassandra 1.1.6 and then recently I upgraded to 1.2.0 beta1. A lot of
> my automated tests started failing after the upgrade, and then I upgraded
> to beta2 with the same results. I should note that I did update my
> dependencies in cassandra-jdbc to the beta2 versions. I took
> queries/inserts from failing tests, ran them in cqlsh, and got the expected
> results. I am aware of some of changes/features with the new CQL wire
> protocol; so, in a local branch I updated the driver to
> use org.apache.cassandra.transport.SimpleClient. This involved a couple
> hacks like putting a copy of my cassandra.yaml on my tests classpath and
> using a hard-coded value for the consistency level arg in
> SimpleClient.execute and SimpleClient.executePrepared. With those changes
> and enabling the native protocol on the server I got my tests passing.
>
> Earlier today I came across
>
> http://www.datastax.com/wp-content/uploads/2012/08/7_Datastax_Upcoming_Changes_in_Drivers.pdfon
> the users list. I am using the JDBC driver for client code, and I am
> at
> a point now where I am blocked with the aforementioned issues. Are there
> already changes underway to add support for using the native protocol in
> the driver? Is the driver discussed in that presentation going to be a
> replacement for the existing JDBC driver or will it be a replacement for
> the Cassandra.Client instance to which the driver delegates requests? I am
> reluctant to move forward with my local changes and/or open a feature
> request on the cassandra-jdbc project for native protocol support if there
> is already work underway.
>
> It is also worth mentioning that I have submitted a patch to Liquibase[1]
> to enable support for Cassandra. If/when my patch is applied then I will be
> able to write an extension to provide Cassandra support. I want to keep
> abreast of any major CQL/driver changes so that I can plan for them as
> necessary with my Liquibase plugin.
>
> [1] http://www.liquibase.org
>
>
> Thanks
>
> - John
>