Skip to content

CASSANDRA-17736: Update Config when properties are changed via JMX#4703

Open
sedulam wants to merge 1 commit intoapache:trunkfrom
sedulam:pgordo/CASSANDRA-17736/trunk
Open

CASSANDRA-17736: Update Config when properties are changed via JMX#4703
sedulam wants to merge 1 commit intoapache:trunkfrom
sedulam:pgordo/CASSANDRA-17736/trunk

Conversation

@sedulam
Copy link
Copy Markdown
Contributor

@sedulam sedulam commented Apr 4, 2026

Summary

Several JMX methods updated runtime state but never wrote back to the Config object, causing the Settings Virtual Table (system_views.settings) to show stale values after runtime changes.

Properties fixed:

  • endpoint_snitchupdateSnitch() now updates conf.endpoint_snitch
  • node_proximityupdateNodeProximity() now updates conf.node_proximity
  • dynamic_snitchupdateProximityInternal() now updates conf.dynamic_snitch when the dynamic parameter is explicitly provided
  • audit_logging_optionsenableAuditLog()/disableAuditLog() now update conf.audit_logging_options
  • full_query_logging_optionsenableFullQueryLogger() now updates conf.full_query_logging_options

Full audit of all 144 properties from the ticket attached as CASSANDRA-17736-audit.md. Of the 144 properties, 45 are correctly aligned, 88 have no JMX setter, 5 no longer exist on trunk, and 4 were misaligned (fixed in this patch). 2 properties from the original list (table_count_warn_threshold, keyspace_count_warn_threshold) are no longer in Config.java on trunk.

Patch by Pedro Gordo for CASSANDRA-17736

Several JMX methods updated runtime state but never wrote back to the
Config object, causing the Settings Virtual Table (system_views.settings)
to show stale values after runtime changes.

Properties fixed:
- endpoint_snitch: updateSnitch() now updates conf.endpoint_snitch
- node_proximity: updateNodeProximity() now updates conf.node_proximity
- dynamic_snitch: updateProximityInternal() now updates conf.dynamic_snitch
  when the dynamic parameter is explicitly provided
- audit_logging_options: enableAuditLog()/disableAuditLog() now update
  conf.audit_logging_options
- full_query_logging_options: enableFullQueryLogger() now updates
  conf.full_query_logging_options

Added DatabaseDescriptor setters: setDynamicSnitch(), setEndpointSnitch(),
setNodeProximityClassName(). Also added tests verifying JMX operations
update Config for all fixed properties.

Patch by Pedro Gordo; reviewed by TBD for CASSANDRA-17736
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