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