You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Jai Bheemsen Rao Dhanwada <ja...@gmail.com> on 2022/04/19 17:08:14 UTC

Re: Datastax Java Driver Compatibility Matrix

Hello Erick,

It looks like the 3.0+ driver is not compatible with the Cassandra 4.0 as
per: https://docs.datastax.com/en/driver-matrix/doc/java-drivers.html

The documents say it's partially compatible, what does this mean? What will
be broken if I continue to use 3.0+ driver with Cassandra 4.0? I did a
quick test with my application using 3.2 driver with Cassandra 4.0.3 and it
works fine.


On Mon, Apr 19, 2021 at 7:14 PM Jai Bheemsen Rao Dhanwada <
jaibheemsen@gmail.com> wrote:

> Thank you
>
> On Monday, April 19, 2021, Erick Ramirez <er...@datastax.com>
> wrote:
>
>> Is there a Datastax Java Driver
>>> <https://docs.datastax.com/en/driver-matrix/doc/driver_matrix/javaDrivers.html>
>>> Compatibility matrix available for Cassandra 4.0?
>>>
>>
>> No, there isn't but the same driver versions apply to C* 4.0 under the
>> column 3.0+.
>>
>> Thanks for bringing this up as it has prompted me to consider its
>> inclusion in the official Apache Cassandra website and I've logged
>> CASSANDRA-16617 <https://issues.apache.org/jira/browse/CASSANDRA-16617>.
>> Cheers!
>>
>

Fwd: Re: Datastax Java Driver Compatibility Matrix

Posted by onmstester onmstester <on...@zoho.com>.
I like to mention that also i've seen better write throughput using driver v4 for Cassandra v4 (almost 2X write throughput although more CPU usage on cassandra side), i'm not sure if i've done a fair comparison but anyway recommend you to consider doing performance test for deciding which driver version to use.


Sent using https://www.zoho.com/mail/







============ Forwarded message ============
From: Jai Bheemsen Rao Dhanwada <ja...@gmail.com>
To: <us...@cassandra.apache.org>
Date: Tue, 19 Apr 2022 23:53:23 +0430
Subject: Re: Datastax Java Driver Compatibility Matrix
============ Forwarded message ============



Thank you, this information is very helpful.


On Tue, Apr 19, 2022 at 11:53 AM C. Scott Andreas <ma...@paradoxica.net> wrote:

Hi Jai,



Cassandra 4.0 supports CQLv3, CQLv4, and CQLv5. A driver connecting using any of these protocols will work. Cassandra 4.0 did not remove support for CQLv3 which makes adoption easier for a very large portion of the user community.



I'd recommend not specifying the protocol version in your cluster builder and allow the client and server to negotiate the newest matching protocol version instead.



I wouldn't recommend attempting to force a 3.2 Java Driver to negotiate CQLv5, though as its support is definitely incomplete. The 3.2 Java Driver is five years old and a very large number of bugs have been fixed since then. Newer 3.x Java Driver releases should be binary-compatible so you can likely just bump your dependency version and immediately pick up a large number of bugfixes.



But yes, Java Driver 3.2 will work fine using CQLv4 or CQLv3 with Cassandra 4.0.



– Scott



On Apr 19, 2022, at 11:45 AM, Jai Bheemsen Rao Dhanwada <ma...@gmail.com> wrote:





Thank you Scott for the information.



I am currently using the 3.2 version of Datastax Driver and using the Cluster Builder with Protocol Version V3. Does this mean 3.2 with protocol version v3 can still work with Cassandra4.0 server?



Also from the https://docs.datastax.com/en/drivers/java/3.2/com/datastax/driver/core/Cluster.Builder.html#withProtocolVersion-com.datastax.driver.core.ProtocolVersion- I see that 3.2 supports upto V5 version of protocol.




Does this mean a) 3.2 driver with V3 protocol works for cassandra 4.0 or b) I have to change the protocol version to V4 or higher on 3.2 to be able to work with 4.0?




On Tue, Apr 19, 2022 at 11:15 AM C. Scott Andreas <ma...@paradoxica.net> wrote:

The DataStax Java 3.x drivers work very well with Apache Cassandra 4.0. I'd recommend one of the more recent releases in the series, though (e.g., 3.6.x+).



I'm not the author of this documentation, but it may refer to the fact that the 3.x Java Driver supports the CQL v4 wire protocol, but not the new v5 wire protocol introduced in Cassandra 4.0. This means that all existing features will continue to work fine; but a small number of new features in 4.0 will require a new driver before they can be adopted.



A couple examples of new features in the CQLv5 wire protocol are client checksumming in the absence of TLS or a checksumming codec, better read/write failure error messages, and native duration types.



– Scott



On Apr 19, 2022, at 10:08 AM, Jai Bheemsen Rao Dhanwada <ma...@gmail.com> wrote:





Hello Erick,



It looks like the 3.0+ driver is not compatible with the Cassandra 4.0 as per: https://docs.datastax.com/en/driver-matrix/doc/java-drivers.html



The documents say it's partially compatible, what does this mean? What will be broken if I continue to use 3.0+ driver with Cassandra 4.0? I did a quick test with my application using 3.2 driver with Cassandra 4.0.3 and it works fine.






On Mon, Apr 19, 2021 at 7:14 PM Jai Bheemsen Rao Dhanwada <ma...@gmail.com> wrote:

Thank you 



On Monday, April 19, 2021, Erick Ramirez <ma...@datastax.com> wrote:

Is there a https://docs.datastax.com/en/driver-matrix/doc/driver_matrix/javaDrivers.html  Compatibility matrix available for Cassandra 4.0?





No, there isn't but the same driver versions apply to C* 4.0 under the column 3.0+.



Thanks for bringing this up as it has prompted me to consider its inclusion in the official Apache Cassandra website and I've logged https://issues.apache.org/jira/browse/CASSANDRA-16617. Cheers!

Re: Datastax Java Driver Compatibility Matrix

Posted by Jai Bheemsen Rao Dhanwada <ja...@gmail.com>.
Thank you, this information is very helpful.

On Tue, Apr 19, 2022 at 11:53 AM C. Scott Andreas <sc...@paradoxica.net>
wrote:

> Hi Jai,
>
> Cassandra 4.0 supports CQLv3, CQLv4, and CQLv5. A driver connecting using
> any of these protocols will work. Cassandra 4.0 did not remove support for
> CQLv3 which makes adoption easier for a very large portion of the user
> community.
>
> I'd recommend not specifying the protocol version in your cluster builder
> and allow the client and server to negotiate the newest matching protocol
> version instead.
>
> I wouldn't recommend attempting to force a 3.2 Java Driver to negotiate
> CQLv5, though as its support is definitely incomplete. The 3.2 Java Driver
> is five years old and a very large number of bugs have been fixed since
> then. Newer 3.x Java Driver releases should be binary-compatible so you can
> likely just bump your dependency version and immediately pick up a large
> number of bugfixes.
>
> But yes, Java Driver 3.2 will work fine using CQLv4 or CQLv3 with
> Cassandra 4.0.
>
> – Scott
>
> On Apr 19, 2022, at 11:45 AM, Jai Bheemsen Rao Dhanwada <
> jaibheemsen@gmail.com> wrote:
>
>
> Thank you Scott for the information.
>
> I am currently using the 3.2 version of Datastax Driver and using the
> Cluster Builder with Protocol Version V3. Does this mean 3.2 with
> protocol version v3 can still work with Cassandra4.0 server?
>
> Also from the documentation
> <https://docs.datastax.com/en/drivers/java/3.2/com/datastax/driver/core/Cluster.Builder.html#withProtocolVersion-com.datastax.driver.core.ProtocolVersion->
> I see that 3.2 supports upto V5 version of protocol.
>
> Does this mean a) 3.2 driver with V3 protocol works for cassandra 4.0 or
> b) I have to change the protocol version to V4 or higher on 3.2 to be able
> to work with 4.0?
>
> On Tue, Apr 19, 2022 at 11:15 AM C. Scott Andreas <sc...@paradoxica.net>
> wrote:
>
>> The DataStax Java 3.x drivers work very well with Apache Cassandra 4.0.
>> I'd recommend one of the more recent releases in the series, though (e.g.,
>> 3.6.x+).
>>
>> I'm not the author of this documentation, but it may refer to the fact
>> that the 3.x Java Driver supports the CQL v4 wire protocol, but not the new
>> v5 wire protocol introduced in Cassandra 4.0. This means that all existing
>> features will continue to work fine; but a small number of new features in
>> 4.0 will require a new driver before they can be adopted.
>>
>> A couple examples of new features in the CQLv5 wire protocol are client
>> checksumming in the absence of TLS or a checksumming codec, better
>> read/write failure error messages, and native duration types.
>>
>> – Scott
>>
>> On Apr 19, 2022, at 10:08 AM, Jai Bheemsen Rao Dhanwada <
>> jaibheemsen@gmail.com> wrote:
>>
>>
>> Hello Erick,
>>
>> It looks like the 3.0+ driver is not compatible with the Cassandra 4.0 as
>> per: https://docs.datastax.com/en/driver-matrix/doc/java-drivers.html
>>
>> The documents say it's partially compatible, what does this mean? What
>> will be broken if I continue to use 3.0+ driver with Cassandra 4.0? I did a
>> quick test with my application using 3.2 driver with Cassandra 4.0.3 and it
>> works fine.
>>
>>
>> On Mon, Apr 19, 2021 at 7:14 PM Jai Bheemsen Rao Dhanwada <
>> jaibheemsen@gmail.com> wrote:
>>
>>> Thank you
>>>
>>> On Monday, April 19, 2021, Erick Ramirez <er...@datastax.com>
>>> wrote:
>>>
>>>> Is there a Datastax Java Driver
>>>>> <https://docs.datastax.com/en/driver-matrix/doc/driver_matrix/javaDrivers.html>
>>>>> Compatibility matrix available for Cassandra 4.0?
>>>>>
>>>>
>>>> No, there isn't but the same driver versions apply to C* 4.0 under the
>>>> column 3.0+.
>>>>
>>>> Thanks for bringing this up as it has prompted me to consider its
>>>> inclusion in the official Apache Cassandra website and I've logged
>>>> CASSANDRA-16617 <https://issues.apache.org/jira/browse/CASSANDRA-16617>.
>>>> Cheers!
>>>>
>>>
>>
>>
>>
>>
>>
>

Re: Datastax Java Driver Compatibility Matrix

Posted by "C. Scott Andreas" <sc...@paradoxica.net>.
Hi Jai,Cassandra 4.0 supports CQLv3, CQLv4, and CQLv5. A driver connecting using any of these protocols will work. Cassandra 4.0 did not remove support for CQLv3 which makes adoption easier for a very large portion of the user community.I'd recommend not specifying the protocol version in your cluster builder and allow the client and server to negotiate the newest matching protocol version instead.I wouldn't recommend attempting to force a 3.2 Java Driver to negotiate CQLv5, though as its support is definitely incomplete. The 3.2 Java Driver is five years old and a very large number of bugs have been fixed since then. Newer 3.x Java Driver releases should be binary-compatible so you can likely just bump your dependency version and immediately pick up a large number of bugfixes.But yes, Java Driver 3.2 will work fine using CQLv4 or CQLv3 with Cassandra 4.0.– ScottOn Apr 19, 2022, at 11:45 AM, Jai Bheemsen Rao Dhanwada <ja...@gmail.com> wrote:Thank you Scott for the information.I am currently using the 3.2 version of Datastax Driver and using the Cluster Builder with Protocol Version V3. Does this mean 3.2 with protocol version v3 can still work with Cassandra4.0 server?Also from the documentation I see that 3.2 supports upto V5 version of protocol.Does this mean a) 3.2 driver with V3 protocol works for cassandra 4.0 or b) I have to change the protocol version to V4 or higher on 3.2 to be able to work with 4.0?On Tue, Apr 19, 2022 at 11:15 AM C. Scott Andreas <sc...@paradoxica.net> wrote:The DataStax Java 3.x drivers work very well with Apache Cassandra 4.0. I'd recommend one of the more recent releases in the series, though (e.g., 3.6.x+).I'm not the author of this documentation, but it may refer to the fact that the 3.x Java Driver supports the CQL v4 wire protocol, but not the new v5 wire protocol introduced in Cassandra 4.0. This means that all existing features will continue to work fine; but a small number of new features in 4.0 will require a new driver before they can be adopted.A couple examples of new features in the CQLv5 wire protocol are client checksumming in the absence of TLS or a checksumming codec, better read/write failure error messages, and native duration types.– ScottOn Apr 19, 2022, at 10:08 AM, Jai Bheemsen Rao Dhanwada <ja...@gmail.com> wrote:Hello Erick,It looks like the 3.0+ driver is not compatible with the Cassandra 4.0 as per: https://docs.datastax.com/en/driver-matrix/doc/java-drivers.htmlThe documents say it's partially compatible, what does this mean? What will be broken if I continue to use 3.0+ driver with Cassandra 4.0? I did a quick test with my application using 3.2 driver with Cassandra 4.0.3 and it works fine.On Mon, Apr 19, 2021 at 7:14 PM Jai Bheemsen Rao Dhanwada <ja...@gmail.com> wrote:Thank you On Monday, April 19, 2021, Erick Ramirez <er...@datastax.com> wrote:Is there a Datastax Java Driver  Compatibility matrix available for Cassandra 4.0?No, there isn't but the same driver versions apply to C* 4.0 under the column 3.0+.Thanks for bringing this up as it has prompted me to consider its inclusion in the official Apache Cassandra website and I've logged CASSANDRA-16617. Cheers!

Re: Datastax Java Driver Compatibility Matrix

Posted by Jai Bheemsen Rao Dhanwada <ja...@gmail.com>.
Thank you Scott for the information.

I am currently using the 3.2 version of Datastax Driver and using the
Cluster Builder with Protocol Version V3. Does this mean 3.2 with
protocol version v3 can still work with Cassandra4.0 server?

Also from the documentation
<https://docs.datastax.com/en/drivers/java/3.2/com/datastax/driver/core/Cluster.Builder.html#withProtocolVersion-com.datastax.driver.core.ProtocolVersion->
I see that 3.2 supports upto V5 version of protocol.

Does this mean a) 3.2 driver with V3 protocol works for cassandra 4.0 or b)
I have to change the protocol version to V4 or higher on 3.2 to be able to
work with 4.0?

On Tue, Apr 19, 2022 at 11:15 AM C. Scott Andreas <sc...@paradoxica.net>
wrote:

> The DataStax Java 3.x drivers work very well with Apache Cassandra 4.0.
> I'd recommend one of the more recent releases in the series, though (e.g.,
> 3.6.x+).
>
> I'm not the author of this documentation, but it may refer to the fact
> that the 3.x Java Driver supports the CQL v4 wire protocol, but not the new
> v5 wire protocol introduced in Cassandra 4.0. This means that all existing
> features will continue to work fine; but a small number of new features in
> 4.0 will require a new driver before they can be adopted.
>
> A couple examples of new features in the CQLv5 wire protocol are client
> checksumming in the absence of TLS or a checksumming codec, better
> read/write failure error messages, and native duration types.
>
> – Scott
>
> On Apr 19, 2022, at 10:08 AM, Jai Bheemsen Rao Dhanwada <
> jaibheemsen@gmail.com> wrote:
>
>
> Hello Erick,
>
> It looks like the 3.0+ driver is not compatible with the Cassandra 4.0 as
> per: https://docs.datastax.com/en/driver-matrix/doc/java-drivers.html
>
> The documents say it's partially compatible, what does this mean? What
> will be broken if I continue to use 3.0+ driver with Cassandra 4.0? I did a
> quick test with my application using 3.2 driver with Cassandra 4.0.3 and it
> works fine.
>
>
> On Mon, Apr 19, 2021 at 7:14 PM Jai Bheemsen Rao Dhanwada <
> jaibheemsen@gmail.com> wrote:
>
>> Thank you
>>
>> On Monday, April 19, 2021, Erick Ramirez <er...@datastax.com>
>> wrote:
>>
>>> Is there a Datastax Java Driver
>>>> <https://docs.datastax.com/en/driver-matrix/doc/driver_matrix/javaDrivers.html>
>>>> Compatibility matrix available for Cassandra 4.0?
>>>>
>>>
>>> No, there isn't but the same driver versions apply to C* 4.0 under the
>>> column 3.0+.
>>>
>>> Thanks for bringing this up as it has prompted me to consider its
>>> inclusion in the official Apache Cassandra website and I've logged
>>> CASSANDRA-16617 <https://issues.apache.org/jira/browse/CASSANDRA-16617>.
>>> Cheers!
>>>
>>
>
>
>
>
>

Re: Datastax Java Driver Compatibility Matrix

Posted by "C. Scott Andreas" <sc...@paradoxica.net>.
The DataStax Java 3.x drivers work very well with Apache Cassandra 4.0. I'd recommend one of the more recent releases in the series, though (e.g., 3.6.x+).I'm not the author of this documentation, but it may refer to the fact that the 3.x Java Driver supports the CQL v4 wire protocol, but not the new v5 wire protocol introduced in Cassandra 4.0. This means that all existing features will continue to work fine; but a small number of new features in 4.0 will require a new driver before they can be adopted.A couple examples of new features in the CQLv5 wire protocol are client checksumming in the absence of TLS or a checksumming codec, better read/write failure error messages, and native duration types.– ScottOn Apr 19, 2022, at 10:08 AM, Jai Bheemsen Rao Dhanwada <ja...@gmail.com> wrote:Hello Erick,It looks like the 3.0+ driver is not compatible with the Cassandra 4.0 as per: https://docs.datastax.com/en/driver-matrix/doc/java-drivers.htmlThe documents say it's partially compatible, what does this mean? What will be broken if I continue to use 3.0+ driver with Cassandra 4.0? I did a quick test with my application using 3.2 driver with Cassandra 4.0.3 and it works fine.On Mon, Apr 19, 2021 at 7:14 PM Jai Bheemsen Rao Dhanwada <ja...@gmail.com> wrote:Thank you On Monday, April 19, 2021, Erick Ramirez <er...@datastax.com> wrote:Is there a Datastax Java Driver  Compatibility matrix available for Cassandra 4.0?No, there isn't but the same driver versions apply to C* 4.0 under the column 3.0+.Thanks for bringing this up as it has prompted me to consider its inclusion in the official Apache Cassandra website and I've logged CASSANDRA-16617. Cheers!