[
https://issues.apache.org/jira/browse/CASSANDRA-20528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17943505#comment-17943505
]
Marcus Eriksson commented on CASSANDRA-20528:
---------------------------------------------
+1
> 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: [email protected]
For additional commands, e-mail: [email protected]