Sam Tunnicliffe created CASSANDRA-18977:
-------------------------------------------

             Summary: Improve CMS handoff and configuration
                 Key: CASSANDRA-18977
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18977
             Project: Cassandra
          Issue Type: Improvement
          Components: Cluster/Membership
            Reporter: Sam Tunnicliffe
            Assignee: Alex Petrov
         Attachments: ci_summary.html

The intial mechanism for configuring membership of the CMS is rather 
simplistic. It requires the operator to select which nodes are members and to 
execute nodetool commands to perform every individual change to the membership. 
Handoff when a member is decommissioned or replaced also uses a naive strategy 
for selecting a replacement member.

This ticket enables the CMS membership to be configured more declaratively, by 
specifying the desired number of CMS members per-DC, much like replication 
using {{{}NetworkTopologyStrategy{}}}. 
Cassandra itself is responsible for selecting exactly which nodes should be CMS 
members based on this configuration and will attempt to maintain rack diversity 
if possible, with handoff of CMS membership handled in the same way.

When making changes to membership Cassandra will manage the entire transition 
from the starting state to end state using an in-progress sequence to compose 
the specific additions and removal operations.

Implementation can be found in:
[https://github.com/beobal/cassandra/commit/bcbb3f441d9df10207be38066c9752a08d62545b]

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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to