Skip to content

19195 cms guardrail 6.0 - #5044

Open
nvharikrishna wants to merge 5 commits into
apache:cassandra-6.0from
nvharikrishna:19195-cms-guardrail-6.0
Open

19195 cms guardrail 6.0#5044
nvharikrishna wants to merge 5 commits into
apache:cassandra-6.0from
nvharikrishna:19195-cms-guardrail-6.0

Conversation

@nvharikrishna

Copy link
Copy Markdown
Contributor

Changes in #4950 ported for 6.0 branch.

nvharikrishna and others added 5 commits August 21, 2026 19:40
Adds the minimum_cms_size_fail_threshold guardrail that fails an operator-requested CMS reconfiguration (nodetool cms reconfigure / JMX) when the resulting CMS size (aggregate replication factor across DCs) would fall below the threshold.

- Config-driven, default -1 (disabled); valid values are -1 or >= 3
- Enforced only on operator-initiated reconfiguration, not the automatic reconfiguration on topology changes
- Skipped for clusters smaller than the threshold
- Fail-only (no warning threshold)

 patch by nvharikrishna; reviewed by <reviewer> for CASSANDRA-19195
Move the guardrail construction and the reconfigure skip logic into a
dedicated CMSSizeGuardrail class, per review (aba3e2a). Keeps the
cmsSize >= totalNodes clamp rather than reintroducing the
totalNodes < minCmsSize skip, so the guardrail is not silently bypassed
when the configured threshold exceeds the current cluster size. The
clamp needs no threshold value, so the guard() overload takes only
(totalNodes, cmsSize) and CMSOperations no longer reads the threshold.
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