Skip to content

CASSANDRA-20476 & CASSANDRA-20736 Handle CMS member addresses changing concurrently #4613

Open
beobal wants to merge 23 commits intoapache:trunkfrom
beobal:samt/CASSANDRA-20476
Open

CASSANDRA-20476 & CASSANDRA-20736 Handle CMS member addresses changing concurrently #4613
beobal wants to merge 23 commits intoapache:trunkfrom
beobal:samt/CASSANDRA-20476

Conversation

@beobal
Copy link
Contributor

@beobal beobal commented Feb 13, 2026

Changing broadcast address has always been supported, but it requires the node to inform the CMS of the change at startup. If a majority of the CMS members attempt to do this concurrently, they have no way to establish the quorum required to make those metadata changes, leading to a deadlocked startup.
This is addressed by the combination of 2 patchsets:

  • CASSANDRA-20736 modifies ClusterMetadata to represent the CMS membership as a set of node ids, rather than addresses.
  • CASSANDRA-20476 introduces a protocol for nodes starting up to discover the current address for CMS members if they have changed while that node was down. The node can then construct a temporary address lookup which it uses to establish contact with CMS members and update/get the latest agreed ClusterMetadata. When the starting node is itself a CMS member, this lookup enables it to form a consensus group with the other members so that address changes can be durably committed & disseminated.

beobal and others added 23 commits February 2, 2026 11:40
@beobal beobal requested review from krummas and removed request for krummas February 13, 2026 18:10
@beobal beobal changed the title CASSANDRA-20476 & CASSANDRA-20736 Handle all CMS member addresses changing concurrently CASSANDRA-20476 & CASSANDRA-20736 Handle CMS member addresses changing concurrently Feb 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant