Skip to content

CASSANDRA-20736 Add CMS membership as a field in ClusterMetadata#4915

Closed
beobal wants to merge 30 commits into
apache:cassandra-6.0from
beobal:samt/CASSANDRA-20736
Closed

CASSANDRA-20736 Add CMS membership as a field in ClusterMetadata#4915
beobal wants to merge 30 commits into
apache:cassandra-6.0from
beobal:samt/CASSANDRA-20736

Conversation

@beobal

@beobal beobal commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Thanks for sending a pull request! Here are some tips if you're new here:

  • Ensure you have added or run the appropriate tests for your PR.
  • Be sure to keep the PR description updated to reflect all changes.
  • Write your PR title to summarize what this PR proposes.
  • If possible, provide a concise example to reproduce the issue for a faster review.
  • Read our contributor guidelines
  • If you're making a documentation change, see our guide to documentation contribution

Commit messages should follow the following format:

<One sentence description, usually Jira title or CHANGES.txt summary>

<Optional lengthier description (context on patch)>

patch by <Authors>; reviewed by <Reviewers> for CASSANDRA-#####

Co-authored-by: Name1 <email1>
Co-authored-by: Name2 <email2>

The Cassandra Jira

beobal and others added 24 commits July 2, 2026 14:03

@krummas krummas left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • HintDispatcher.java, line 279 should use placement(..) not placements.get I think

  • make ClusterMetadata.placements either private or remove the placements() method to only have one way of accessing these

  • PlacementsChangeListener no longer invalidates local ranges when meta placements change

Replica replica = new Replica(endpoint, entireRange, true);
ReplicationParams metaParams = ReplicationParams.meta(prev);
if (!prev.fullCMSMembers().contains(endpoint))
if (!prev.fullCMSMemberIds().contains(removal))

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit, cms.contains(...)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unused

{
MovementMap.Builder movementMapBuilder = MovementMap.builder();
DataPlacements placements = metadata.placements;
DataPlacements placements = metadata.placements();

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this changes behaviour now when meta placements are not here? I guess it makes sense to be able to rebuild meta ks?

@beobal beobal force-pushed the samt/CASSANDRA-20736 branch from 5dc1288 to 9cb5d0c Compare July 3, 2026 16:26
@beobal beobal closed this Jul 6, 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.

2 participants