Skip to content

19195 cms guardrail 6.0 - #5044

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

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 27, 2026 18:38
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.
@nvharikrishna
nvharikrishna force-pushed the 19195-cms-guardrail-6.0 branch 2 times, most recently from 8b15874 to 9b3cc72 Compare August 27, 2026 13:11
@nvharikrishna

Copy link
Copy Markdown
Contributor Author

Changes merged, closing the pr.

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