You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Manu Chadha <ma...@hotmail.com> on 2020/10/26 07:38:15 UTC

migrating driver from 3.4 to 4.9

I am considering migration my application Cassandra Java driver from 3.4 to 4.9. Are there breaking changes between 3.4 and 4.9 (I expect so to be honest but I want to get a feel of how much effort there might be).

I want to implement backward paging feature in my application. I can either implement it in the application like Alex Ott mentioned in the Stack Overflow link  or I could migrate to 4.9. I am wondering which would be relatively easier.

https://stackoverflow.com/questions/50168236/cassandra-pagination-inside-partition/50172052?noredirect=1#comment114079439_50172052

My application doesn’t need random page navigation. It would be linear (1 page either ways) so I suppose the performance impact would be negligible.

thanks

Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10


RE: migrating driver from 3.4 to 4.9

Posted by Manu Chadha <ma...@hotmail.com>.
Thanks Johnny

Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10

From: Johnny Miller<ma...@digitalis.io>
Sent: 27 October 2020 08:37
To: user@cassandra.apache.org<ma...@cassandra.apache.org>
Subject: Re: migrating driver from 3.4 to 4.9

Manu - one thing to make sure your aware of is with the latest driver version (4.9) it’s not just about binary compatibility.

There has been a removal of certain core features from the driver which if you are using you may find you’ve more work todo then you expected.

The ability to route requests to your non-local DC via driver retry policies doesn’t seem to be there anymore. Also changing your choice of consistency on driver retries is also gone (not necessarily a bad thing). It’s not possible to implement your own retry policy to replicate this as the driver api seems to have completely removed the hookins to do this within the driver retry mechanism.

The docs say this should be done at the app level and is not the drivers responsibility now. However replicating this functionality at the app level is not trivial particular when leveraging asynchronous calls and (depending on your testing guidelines) probably warrants a lot of testing on the app itself. Have a look at resiliance4j retry component if you need to go down that route - it’s pretty handy.

Regards,

Johnny


On Tue, 27 Oct 2020 at 08:14, Manu Chadha <ma...@hotmail.com>> wrote:
Thanks Erick. I agree that I should considering moving to latest version.

Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10

From: Erick Ramirez<ma...@datastax.com>
Sent: 26 October 2020 22:55
To: user@cassandra.apache.org<ma...@cassandra.apache.org>
Subject: Re: migrating driver from 3.4 to 4.9

Yes, Java driver 4 is not binary-compatible with older versions. Our recommendation is that you upgrade to the latest version instead of re-coding your app for an older version. If you run into issues with the older version, you will have to upgrade anyway to get the fix. Java driver v3.4 was released in January 2018 so it's very old.

See the upgrade guide here -- https://docs.datastax.com/en/developer/java-driver/4.9/. Cheers!

--
Sent from my iPhone, apologies for any typos



--

The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. www.digitalis.io<http://www.digitalis.io>


Re: migrating driver from 3.4 to 4.9

Posted by Johnny Miller <jo...@digitalis.io>.
Manu - one thing to make sure your aware of is with the latest driver
version (4.9) it’s not just about binary compatibility.

There has been a removal of certain core features from the driver which if
you are using you may find you’ve more work todo then you expected.

The ability to route requests to your non-local DC via driver retry
policies doesn’t seem to be there anymore. Also changing your choice of
consistency on driver retries is also gone (not necessarily a bad thing).
It’s not possible to implement your own retry policy to replicate this as
the driver api seems to have completely removed the hookins to do this
within the driver retry mechanism.

The docs say this should be done at the app level and is not the drivers
responsibility now. However replicating this functionality at the app level
is not trivial particular when leveraging asynchronous calls and (depending
on your testing guidelines) probably warrants a lot of testing on the app
itself. Have a look at resiliance4j retry component if you need to go down
that route - it’s pretty handy.

Regards,

Johnny


On Tue, 27 Oct 2020 at 08:14, Manu Chadha <ma...@hotmail.com> wrote:

> Thanks Erick. I agree that I should considering moving to latest version.
>
>
>
> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for
> Windows 10
>
>
>
> *From: *Erick Ramirez <er...@datastax.com>
> *Sent: *26 October 2020 22:55
> *To: *user@cassandra.apache.org
> *Subject: *Re: migrating driver from 3.4 to 4.9
>
>
>
> Yes, Java driver 4 is not binary-compatible with older versions. Our
> recommendation is that you upgrade to the latest version instead of
> re-coding your app for an older version. If you run into issues with the
> older version, you will have to upgrade anyway to get the fix. Java driver
> v3.4 was released in January 2018 so it's very old.
>
>
>
> See the upgrade guide here --
> https://docs.datastax.com/en/developer/java-driver/4.9/. Cheers!
>
>
>
-- 
Sent from my iPhone, apologies for any typos

-- 



--

The information contained in this electronic message and any 
attachments to this message are intended for the exclusive use of the 
addressee(s) and may contain proprietary, confidential or privileged 
information. If you are not the intended recipient, you should not 
disseminate, distribute or copy this e-mail. Please notify the sender 
immediately and destroy all copies of this message and any attachments. 
WARNING: Computer viruses can be transmitted via email. The recipient 
should check this email and any attachments for the presence of viruses. 
The company accepts no liability for any damage caused by any virus 
transmitted by this email. www.digitalis.io <http://www.digitalis.io>

RE: migrating driver from 3.4 to 4.9

Posted by Manu Chadha <ma...@hotmail.com>.
Thanks Erick. I agree that I should considering moving to latest version.

Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10

From: Erick Ramirez<ma...@datastax.com>
Sent: 26 October 2020 22:55
To: user@cassandra.apache.org<ma...@cassandra.apache.org>
Subject: Re: migrating driver from 3.4 to 4.9

Yes, Java driver 4 is not binary-compatible with older versions. Our recommendation is that you upgrade to the latest version instead of re-coding your app for an older version. If you run into issues with the older version, you will have to upgrade anyway to get the fix. Java driver v3.4 was released in January 2018 so it's very old.

See the upgrade guide here -- https://docs.datastax.com/en/developer/java-driver/4.9/. Cheers!


Re: migrating driver from 3.4 to 4.9

Posted by Erick Ramirez <er...@datastax.com>.
Yes, Java driver 4 is not binary-compatible with older versions. Our
recommendation is that you upgrade to the latest version instead of
re-coding your app for an older version. If you run into issues with the
older version, you will have to upgrade anyway to get the fix. Java driver
v3.4 was released in January 2018 so it's very old.

See the upgrade guide here --
https://docs.datastax.com/en/developer/java-driver/4.9/. Cheers!

>