[DEPRECATED] WSO2 Data Services Server 3.0.1 doesn’t work with Cassandra CQL 3

WSO2 Data Services Server 3.0.1 comes with support for an unspecified Cassandra version. However, in their documentation they call out 1.1.X. After much frustration and many NullPointerExceptions from WSO2, I discovered that while Cassandra 1.1 supports CQL 3, it defaults to CQL 2 in the JDBC driver. I also noticed that despite general JDBC support in DSS, the Cassandra JDBC driver is bundled with DSS 3.0.1 and appears to have been customized by WSO2 to support specifically Cassandra 1.1 and DSS 3.0.1.

Tonight I attempted to use the Cassandra JDBC 1.2 driver with WSO2 DSS’s support for “generic” JDBC data sources. I was able to get DSS to connect to the Cassandra server, but running even a simple SELECT query failed with a NullPointerException. To meet my current objectives, I’ve rolled back Cassandra to 1.1 to be compatible with WSO2 DSS 3.0.1 and reverted to using CQL 2. This is a bit of a disappointment since CQL 2 doesn’t seem to have any support for leveraging Cassandra’s “schema-free” features that CQL 3 does (map, set, list, etc).

2 thoughts on “[DEPRECATED] WSO2 Data Services Server 3.0.1 doesn’t work with Cassandra CQL 3

  1. Chanikag

    Hi Lance,

    Thank you for figuring this out. WSO2 DSS 3.0.1 is supporting Cassandra JDBC 1.1.x and as you suggested we can connect to CQL 3 even though it is using CQL2 by default. For that you can put the version of CQL (ie. 3) in the connection url. For an example : jdbc:cassandra://localhost:9160/keyspace_name?version=3.0.0. Then it will connect to CQL version 3.0.0. You can see that in logs (Connected to localhost:9160 using Keyspace keyspace_name and CQL version 3.0.0) and you will be able to invoke the dataservice successfully.
    Yes, DSS 3.0.1 is not compatible with Cassandra JDBC 1.2 and that is why you are getting that error. We are planing to migrate to JDBC 1.2 in the next release. (WSO2 DSS 3.1.0)

    Thanks
    Chanika.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">