You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sam Tunnicliffe (Jira)" <ji...@apache.org> on 2023/11/16 16:53:00 UTC

[jira] [Updated] (CASSANDRA-18980) Bring PropertyFileSnitch & RackInferringSnitch into line with TCM

     [ https://issues.apache.org/jira/browse/CASSANDRA-18980?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sam Tunnicliffe updated CASSANDRA-18980:
----------------------------------------
    Status: Ready to Commit  (was: Review In Progress)

> Bring PropertyFileSnitch & RackInferringSnitch into line with TCM
> -----------------------------------------------------------------
>
>                 Key: CASSANDRA-18980
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18980
>             Project: Cassandra
>          Issue Type: Task
>          Components: Transactional Cluster Metadata
>            Reporter: Sam Tunnicliffe
>            Assignee: Sam Tunnicliffe
>            Priority: Normal
>         Attachments: ci_summary.html
>
>
> With TCM, all snitch implementations should only be responsible for the initial the topology configuration of the local node. For example, PFS should behave more like {{GossipingPropertyFileSnitch}} in that its configuration file specifies the DC & rack for the local node only. Each node in the cluster is responsible for updating its own topology info in {{ClusterMetadata}} when it is registered and the location of peers can be easily looked up there.
> Modifying the DC & rack of a live node via GPFS/PFS config is desabled by default and strongly discouraged (CASSANDRA-10242/CASSANDRA-10243/CASSANDRA-9474) and there are {{StartupChecks}} in place to prevent changing location at startup. 
> Given that modifying location of a joined node is a fundamentally unsafe operation, we should remove the ability to do so. The argument for allowing it has previously been that if a DC or cluster has no data, then the overhead of decommissioning and re-joining nodes to fix location is prohibitive. CEP-21 fixes that by making those operations more reliable, so the override becomes less valuable. 
> Implementation can be found in:
> https://github.com/beobal/cassandra/commit/8ec1ea705210b7e2e38d888768ba83faa53754d8
> https://github.com/beobal/cassandra/commit/7b41f063e04f25b8215318f51d908732b1f21f5f
> https://github.com/beobal/cassandra/commit/09cdc5351ad049d97c7eeb53c4e68701c088a711
> CI summary results attached. For right now, we've only been foccussing on unit tests, in-jvm & python dtests, so the failures in other suites are to be expected. Unfortunately, the archive containing the detailed results is too large to attach as a single file, so will look into the best way to work around that.
> The intention is to fix all suites before merging the feature branch.
> ||Suite||Total||Passed||Skipped||Failed||Errors||
> |jvm dtest|1508|1465|24|8|11|
> |python dtest|1083|790|262|28|3|
> |unit|12082|12006|61|6|9|



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