You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Marcus Eriksson (Jira)" <ji...@apache.org> on 2025/04/04 14:43:00 UTC

[jira] [Comment Edited] (CASSANDRA-20528) Support topology-safe changes to Datacenter & Rack for live nodes

    [ https://issues.apache.org/jira/browse/CASSANDRA-20528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17940998#comment-17940998 ] 

Marcus Eriksson edited comment on CASSANDRA-20528 at 4/4/25 2:42 PM:
---------------------------------------------------------------------

attached ci run includes CASSANDRA-20523, CASSANDRA-20524, CASSANDRA-20525, CASSANDRA-20526, CASSANDRA-20527 and this


was (Author: krummas):
attached ci run includes CASSANDRA-20523, CASSANDRA-20524, CASSANDRA-20525, CASSANDRA-20527 and this

> Support topology-safe changes to Datacenter & Rack for live nodes
> -----------------------------------------------------------------
>
>                 Key: CASSANDRA-20528
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-20528
>             Project: Apache Cassandra
>          Issue Type: Improvement
>          Components: Transactional Cluster Metadata
>            Reporter: Marcus Eriksson
>            Assignee: Sam Tunnicliffe
>            Priority: Normal
>             Fix For: 5.x
>
>         Attachments: ci_summary.html
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Prior to CEP-21 and CASSANDRA-19488 most snitch implementations would implement their own mechanism for determining the local DC & rack then propagate that information via gossip. 
> When queried for the location of a remote endpoint, the gossip state is inspected. Changing the local DC/rack after initial startup is forbidden, but this can be disabled by use of system properties or by disabling the specific startup checks.
> In almost all cases, this is a fundamentally unsafe operation and so in trunk there is currently no mechanism to modify a node's DC and rack in ClusterMetadata. The supported way to acheive the same result is to decommission and re-join nodes instead.
> It is possible though to add a mechanism to support _safe_ topology changes, meaning only those which do not have a material effect on data placements. Examples include:
> * Renaming an empty DC, i.e. nodes exist in the DC but no data is replicated to them
> * When using NTS modifications to rack assignments which preserve existing rack diversity e.g. moving adjacent replicas to the same rack is not permitted   
> * If using SimpleStrategy exclusively, any change to DC or rack is allowed.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org