Sam Tunnicliffe created CASSANDRA-18980: -------------------------------------------
Summary: 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 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-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org