The recommended approach to upgrading is to perform a replica-safe rolling restart of instances in 
each datacenter, one datacenter at a time. > 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? Streaming and repair are not supported 
between 3.x and 4.x instances, so it will not be possible to bootstrap a datacenter as 3.x from nodes 
that are running 4.x. The approach above isn't an option and, in many topologies, may violate 
consistency or induce data loss. > Alternatively, could we remove the datacenter, perform the SW 
upgrade to C*4 and then add it back to the cluster? You *could* do this if the datacenter is added 
back on 4.x, but it's not quite clear what it would accomplish. By far the safest and most tested 
upgrade path used by nearly everyone is a replica-safe rolling restart of instances in each 
datacenter, one datacenter at a time. Could you say more about the concerns you have with this 
upgrade path, or the worries you are hoping to mitigate? – Scott On Oct 26, 2023, at 8: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? 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? Alternatively, could we remove the 
datacenter, perform the SW upgrade to C*4 and then add it back to the cluster? Are there any 
suggestions or experiences regarding this fallback scenario? BR MK

Reply via email to