> On Oct 26, 2023, at 12:32 AM, Michalis Kotsiouros (EXT) via user 
> <user@cassandra.apache.org> wrote:
> 
> 
> Hello Cassandra community,
> We are trying to upgrade our systems from Cassandra 3 to Cassandra 4. We plan 
> to do this per data center.
> During the upgrade, a cluster with mixed SW levels is expected. At this point 
> is it possible to perform topology changes?

You may find that this works at various stages when an entire dc is upgraded or 
not upgraded if you don’t do any cross-DC streaming (eg no SimpleStrategy 
keyspaces at all).  It’s not guaranteed to work, we don’t test it, but I expect 
that it probably will.

Schema changes will not. 

> In case of an upgrade failure, would it be possible to remove the data center 
> from the cluster, restore the datacenter to C*3 SW and add it back to cluster 
> which will contain datacenters in both C* 3 and C*4?

Definitely possible for the first DC you upgrade
Untested for the second-last 

> Alternatively, could we remove the datacenter, perform the SW upgrade to C*4 
> and then add it back to the cluster?

Not really. Probably technically possible but doesn’t make a lot of practical 
sense

> Are there any suggestions or experiences regarding this fallback scenario?

Doing one host, then one replica of each replica set (1/3rd of hosts / 1 AZ), 
then one DC, then repeat for all DCs. The point of no return, so to speak, is 
when you get into the second AZ of the second DC. Until that point you can just 
act as if the upgraded hosts failed all at once and re-stream that data via 
bootstrap 

Not clear what exactly worries you in the upgrade, but restore a backup to a 
lab and run the upgrade once or twice offline. Doesn’t have to be a full size 
cluster, just a few hosts in a few fake DCs. The 3-4 upgrade was pretty 
uneventful compared to past upgrades, especially if you use the later releases. 
Good to be cautious, though. 

Reply via email to