Bringing together the Apache Cassandra experts from the community and DataStax.

Want to learn? Have a question? Want to share your expertise? You are in the right place!

Not sure where to begin? Getting Started

 

question

spiragua_132892 avatar image
spiragua_132892 asked ·

How can we upgrade a DSE 5.0 cluster to 6.7 side-by-side approach?

Hi we need to upgrade a small cluster using a side-by-side approach. We have concerns about sstable and gossiping compatibility issues. So far we think we can do it installing the new aside cluster with same source version, then restore on it a full snapshot from old cluster, then upgrade the new aside cluster to last patch 5.0 and then to 6.7.X (our target version).

[EDIT] We don't want to do the upgrade "in-place" because is too risky, rollback could be tricky, we want do the upgrade in a parallel new cluster, and then promote the new one to production and decommission the old one.

Our biggest concern is sstables format compatibility. We are not sure we can restore in a 6.7 cluster from 5.0.X sstables snapshot. Your comment suggests that we can use 6.7 sstableloader, so then this tool is able to read old 5.0.X sstables, it would be great if you can confirm this, as we wouldn't need to start the aside cluster with 5.0.X version, but straight 6.7

So the general procedure would be:

  • Install the new cluster with 6.7.X version
  • Create schema on the new 6.7.X cluster
  • Take full snapshot from 5.0.X old cluster
  • Restore snapshot in new cluster 6.7.X using sstableloader

After restore we will still need to do a nodetool upgradesstable node by node in the new cluster right ?

dseupgrade
10 |1000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

1 Answer

Erick Ramirez avatar image
Erick Ramirez answered ·

The details you provided is contradictory. It doesn't sound like you're really doing an upgrade.

It seems like what you want to do is clone the data from your existing DSE 5.0 cluster to another DSE 6.7 cluster. If so, you should just:

  • take a snapshot of the application keyspace(s) on the DSE 5.0 cluster
  • create the schema on the DSE 6.7 cluster
  • use the DSE 6.7 sstableloader to load the 5.0 files to the 6.7 cluster

But if you're real goal is to upgrade your DSE 5.0 cluster, this is the wrong way of achieving it.

Perhaps if you tell me what you're trying to achieve, I'd be happy to provide an answer that achieves the outcome you're after. As it stands, the information you provided isn't very clear. Cheers!

[UPDATE] Upgrades from DSE 5.0 to 6.7 are not risky at all if you've rehearsed and tested the upgrade in a non-production environment. For what it's worth, we have dozens of customers who carry out this kind of upgrades everyday without issues. The key is for you to have done the testing and be familiar with all the steps of the upgrade.

I don't mean any disrespect but your proposed method is riskier because it isn't a documented procedure. There's also a chance that you haven't considered the writes that are coming into the existing cluster, specifically the delta between the snapshot of existing cluster and cutover to the new cluster.

If you are switching off the application instances during the implementation window, that's unfortunate because you are missing out on one of the most important features of DSE and Cassandra -- its always-on capability.

In any case, here are my answers to your questions:

  • I've already said that you can use the DSE 6.7 sstableloader to load the 5.0 files to the 6.7 cluster.
  • There won't be SSTables to upgrade since you've loaded them onto a DSE 6.7 cluster.

I strongly recommend you log a ticket with DataStax Support, particularly if you have any follow up questions. It's very important that you get assistance from one of our Support engineers who can provide you more-informed recommendations based on your requirements. Cheers!

3 comments Share
10 |1000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

Hi Erick thanks for your interest, let me clarify a bit.

[Update posted in the original question]

0 Likes 0 · ·

Hi Erick, thanks for your feedback, we prefer documented in-place approach so we agree with you, however customer ask us to explore side-by-side approach the paradigm they have experience with upgrading SQL databases. I appreciate your feedback. We are in a early stage, but sure we will recommend in-place approach and opening a support ticket to get feedback from you if customer insists on side-to-side. Best.

0 Likes 0 · ·

Not a problem. Cheers!

0 Likes 0 · ·