> 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.