Skip to content

Conversation

@ekaterinadimitrova2
Copy link
Contributor

No description provided.

Copy link
Contributor

Choose a reason for hiding this comment

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

As in CASSANDRA-17735, I think I would remove GCInspector's local copies of Config's gc_log_threshold_in_ms and gc_warn_threshold_in_ms. Keeping those properties in a single place should easy synchronization.

For example, GCInspector#gcLogThreshholdInMs and GCInspector#gcWarnThresholdInMs are marked as volatile, so changes to these properties via JMX should be visible for other JMX readers and GCInspector itself. However, Config#gc_log_threshold_in_ms and Config#gc_warn_threshold_in_ms aren't marked as volatile. Thus, changes done to those properties through JMX could not be visible for the settings virtual table. Conversely, we could see the opposite situation when we have writable virtual tables.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

So what you suggest is just to make them volatile also in Config? And the long-int issue is already solved in the setter

Copy link
Contributor

Choose a reason for hiding this comment

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

Setting them as volatile in Config should work, but I was thinking on removing the local copies on GCInspector, this way, as we did in CASSANDRA-17735. wdyt?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, sorry, I was not clear - that is exactly what I meant, making those in Config volatile further to removing the local copies

…e JMX methods or directly Config class as now - we will have to decide whether to move the setters checks to the DD setters or not

Fix conf.index_summary_capacity_in_mb
Fix non-mutable prepared_statements_cache_size_mb, key_cache_size_in_mb, counter_cache_size_in_mb
Remove local copies of config properties from GCInspector
@ekaterinadimitrova2
Copy link
Contributor Author

Done

1 similar comment
@ekaterinadimitrova2
Copy link
Contributor Author

Done

@driftx driftx closed this Jul 28, 2022
michaeljmarshall added a commit to michaeljmarshall/cassandra that referenced this pull request Sep 17, 2025
### What is the issue
Fixes riptano/cndb#14171

### What does this PR fix and why was it fixed
datastax#1200 introduced a bug for SAI
indexes version AA that have clustering columns. As the tests show,
updates incorrectly removed rows from the index.

We need the update logic for later versions of SAI, so it is key to keep
the update feature, but AA does not support those features precisely
because it only indexes the partition key, so this is a safe update.
michaelsembwever pushed a commit to thelastpickle/cassandra that referenced this pull request Jan 7, 2026
### What is the issue
Fixes riptano/cndb#14171

### What does this PR fix and why was it fixed
datastax#1200 introduced a bug for SAI
indexes version AA that have clustering columns. As the tests show,
updates incorrectly removed rows from the index.

We need the update logic for later versions of SAI, so it is key to keep
the update feature, but AA does not support those features precisely
because it only indexes the partition key, so this is a safe update.
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.

3 participants