[jira] [Comment Edited] (CASSANDRA-17737) Validate that JMX updates properly any properties that were moved to the new config classes

2022-07-29 Thread Ekaterina Dimitrova (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-17737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17573025#comment-17573025
 ] 

Ekaterina Dimitrova edited comment on CASSANDRA-17737 at 7/29/22 3:16 PM:
--

Thank you. Wrapped up 
[4.1|https://github.com/ekaterinadimitrova2/cassandra/commit/3b8cefe5136937dad8e9188216eefd70a15142a4]
 and  
[trunk|https://github.com/ekaterinadimitrova2/cassandra/commit/6e9eb2a4c92b6a77dd3051d4782f1f21fc08ae18]
 in new branches and kept the old PRs unsquashed for reference. 

CI results pending.

4.1 CI run started  
[here|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra?branch=17737-4.1-part2],
 trunk CI pushed 
[here|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra?branch=17737-trunk-part2]
 

For the record - this commit intends to fix a null bug we identified in 
Converters and the disabled value for sstable_preemptive_open_interval_in_mb.

In order to start using @Nullable annotation for Config properties, I had to 
change com.google.code.findbugs scope from provided to default compile one. 

Looking into its license [https://opensource.org/licenses/BSD-3-Clause]
and reading here - [https://www.apache.org/legal/resolved.html]
we agreed the change is acceptable. Not brought to the mailing list as we are 
not adding brand new dependency.

Also, we agreed to open a follow-up improvement ticket so that all nullable 
Config properties start using the @Nullable annotation - CASSANDRA-17785


was (Author: e.dimitrova):
Thank you. Wrapped up 
[4.1|https://github.com/ekaterinadimitrova2/cassandra/commit/3b8cefe5136937dad8e9188216eefd70a15142a4]
 and  
[trunk|https://github.com/ekaterinadimitrova2/cassandra/commit/6e9eb2a4c92b6a77dd3051d4782f1f21fc08ae18]
 in new branches and kept the old PRs unsquashed for reference. 

CI results pending.

4.1 CI run started  
[here|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra?branch=17737-4.1-part2],
 trunk CI pushed 
[here|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra?branch=17737-trunk-part2]
 

For the record - this commit intends to fix a null bug we identified in 
Converters and the disabled value for sstable_preemptive_open_interval_in_mb.

In order to start using @Nullable annotation for Config properties, I had to 
change com.google.code.findbugs scope from provided to default compile one. 

Looking into its license [https://opensource.org/licenses/BSD-3-Clause]
and reading here - [https://www.apache.org/legal/resolved.html]
we agreed the change is acceptable. Not brought to the mailing list as we are 
not adding brand new dependency.

> Validate that JMX updates properly any properties that were moved to the new 
> config classes
> ---
>
> Key: CASSANDRA-17737
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17737
> Project: Cassandra
>  Issue Type: Task
>  Components: Local/Config
>Reporter: Ekaterina Dimitrova
>Assignee: Ekaterina Dimitrova
>Priority: Normal
> Fix For: 4.0.x, 4.1-beta, 4.1.x, 4.x
>
>
> Check that any properties moved to the new types in 4.1 (Duration, Data 
> Storage, Data Rate) are always updated by JMX and there are no inconsistent 
> validations that might cover bugs. Validate proper update in Settings Virtual 
> Table
> I branched the configCompatibilityTest in 4.1 in order to get the lists of 
> properties in this 
> [commit|https://github.com/ekaterinadimitrova2/cassandra/commit/f2c02861abf0d6c34257d2fac827562437362137]
>  - the commit won't get into the codebase, just pasting so people know how 
> the lists were generated:
> *DataRateSpec* - entire_sstable_stream_throughput_outbound, 
> inter_dc_stream_throughput_outbound, 
> entire_sstable_inter_dc_stream_throughput_outbound, compaction_throughput, 
> stream_throughput_outbound - we have setGet* tests and those seem solid, no 
> issues found.
> *DurationSpec* - gc_log_threshold, permissions_validity, denylist_refresh, 
> request_timeout, hints_flush_period, read_request_timeout, 
> index_summary_resize_interval, streaming_keep_alive_period, max_hint_window, 
> roles_update_interval, user_defined_functions_fail_timeout, 
> write_request_timeout, cdc_free_space_check_interval, roles_validity, 
> internode_streaming_tcp_user_timeout, gc_warn_threshold, 
> range_request_timeout, credentials_update_interval, truncate_request_timeout, 
> cas_contention_timeout, periodic_commitlog_sync_lag_block, 
> streaming_state_expires, repair_request_timeout, permissions_update_interval, 
> dynamic_snitch_reset_interval, internode_tcp_connect_timeout, 
> paxos_purge_grace_period, dynamic_snitch_update_interval, 
> trace_type_query_ttl, denylist_initial_load_retry, 

[jira] [Comment Edited] (CASSANDRA-17737) Validate that JMX updates properly any properties that were moved to the new config classes

2022-07-28 Thread Ekaterina Dimitrova (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-17737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17572622#comment-17572622
 ] 

Ekaterina Dimitrova edited comment on CASSANDRA-17737 at 7/28/22 7:35 PM:
--

I rebased and reran CI, it seems there was only one known failure on trunk - 
CASSANDRA-17618. Starting commit of the fix for the following issues:
 * Fixed non-mutable prepared_statements_cache_size_mb, key_cache_size_in_mb, 
counter_cache_size_in_mb to be updated in Settings Virtual Table on startup
 * Fixed conf.index_summary_capacity_in_mb 
 * Fixed two GCInspector properties

I will add a table to the ticket description with all commits that will be done 
as part of this ticket to make things organized. 


was (Author: e.dimitrova):
Rebased and rerun CI, it seems there was only one known failure on trunk - 
CASSANDRA-17618. Starting commit of the fix for the following issues:
 * Fixed non-mutable prepared_statements_cache_size_mb, key_cache_size_in_mb, 
counter_cache_size_in_mb to be updated in Settings Virtual Table on startup
 * Fixed conf.index_summary_capacity_in_mb 
 * Fixed two GCInspector properties

I will add a table to the ticket description with all commits that will be done 
as part of this ticket to make things organized. 

> Validate that JMX updates properly any properties that were moved to the new 
> config classes
> ---
>
> Key: CASSANDRA-17737
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17737
> Project: Cassandra
>  Issue Type: Task
>  Components: Local/Config
>Reporter: Ekaterina Dimitrova
>Assignee: Ekaterina Dimitrova
>Priority: Normal
> Fix For: 4.0.x, 4.1-beta, 4.1.x, 4.x
>
>
> Check that any properties moved to the new types in 4.1 (Duration, Data 
> Storage, Data Rate) are always updated by JMX and there are no inconsistent 
> validations that might cover bugs. Validate proper update in Settings Virtual 
> Table
> I branched the configCompatibilityTest in 4.1 in order to get the lists of 
> properties in this 
> [commit|https://github.com/ekaterinadimitrova2/cassandra/commit/f2c02861abf0d6c34257d2fac827562437362137]
>  - the commit won't get into the codebase, just pasting so people know how 
> the lists were generated:
> *DataRateSpec* - entire_sstable_stream_throughput_outbound, 
> inter_dc_stream_throughput_outbound, 
> entire_sstable_inter_dc_stream_throughput_outbound, compaction_throughput, 
> stream_throughput_outbound - we have setGet* tests and those seem solid, no 
> issues found.
> *DurationSpec* - gc_log_threshold, permissions_validity, denylist_refresh, 
> request_timeout, hints_flush_period, read_request_timeout, 
> index_summary_resize_interval, streaming_keep_alive_period, max_hint_window, 
> roles_update_interval, user_defined_functions_fail_timeout, 
> write_request_timeout, cdc_free_space_check_interval, roles_validity, 
> internode_streaming_tcp_user_timeout, gc_warn_threshold, 
> range_request_timeout, credentials_update_interval, truncate_request_timeout, 
> cas_contention_timeout, periodic_commitlog_sync_lag_block, 
> streaming_state_expires, repair_request_timeout, permissions_update_interval, 
> dynamic_snitch_reset_interval, internode_tcp_connect_timeout, 
> paxos_purge_grace_period, dynamic_snitch_update_interval, 
> trace_type_query_ttl, denylist_initial_load_retry, commitlog_sync_period, 
> native_transport_idle_timeout, credentials_validity, 
> validation_preview_purge_head_start, repair_state_expires, 
> internode_tcp_user_timeout, trace_type_repair_ttl, cache_load_timeout, 
> commitlog_sync_group_window, slow_query_log_timeout, 
> counter_write_request_timeout, user_defined_functions_warn_timeout
> *DataStorageSpec* - 
> internode_application_send_queue_reserve_endpoint_capacity, cdc_total_space, 
> networking_cache_size, commitlog_total_space, 
> internode_application_send_queue_capacity, key_cache_size, 
> memtable_heap_space, trickle_fsync_interval, max_hints_size_per_host, 
> internode_application_receive_queue_reserve_endpoint_capacity, 
> native_transport_max_frame_size, coordinator_read_size_warn_threshold , 
> internode_application_receive_queue_reserve_global_capacity, 
> internode_max_message_size, file_cache_size, local_read_size_fail_threshold, 
> data_disk_usage_max_disk_size, memtable_offheap_space, 
> coordinator_read_size_fail_threshold, counter_cache_size, 
> prepared_statements_cache_size, batchlog_replay_throttle, 
> row_index_read_size_fail_threshold, index_summary_capacity, 
> repair_session_space, paxos_cache_size, collection_size_fail_threshold, 
> internode_application_send_queue_reserve_global_capacity, column_index_size, 
> native_transport_receive_queue_capacity, sstable_preemptive_open_interval, 
> 

[jira] [Comment Edited] (CASSANDRA-17737) Validate that JMX updates properly any properties that were moved to the new config classes

2022-07-27 Thread Ekaterina Dimitrova (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-17737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17572216#comment-17572216
 ] 

Ekaterina Dimitrova edited comment on CASSANDRA-17737 at 7/28/22 3:43 AM:
--

I just pushed one more commit, suggested by [~dcapwell] using the @Nullable 
annotation, that solves the null issue on startup and in fromMap method. I 
totally forgot about that annotation that we can actually use it for this here, 
similar to what was done with @Deprecated. Many thanks for reminding me!


was (Author: e.dimitrova):
I just pushed one more commit, suggested by [~dcapwell] using the @Nullable 
annotation, that solves the null issue on startup and in fromMap method. I 
totally forgot about that annotation that we can actually use it for here. Many 
thanks for reminding me!

> Validate that JMX updates properly any properties that were moved to the new 
> config classes
> ---
>
> Key: CASSANDRA-17737
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17737
> Project: Cassandra
>  Issue Type: Task
>  Components: Local/Config
>Reporter: Ekaterina Dimitrova
>Assignee: Ekaterina Dimitrova
>Priority: Normal
> Fix For: 4.0.x, 4.1-beta, 4.1.x, 4.x
>
>
> Check that any properties moved to the new types in 4.1 (Duration, Data 
> Storage, Data Rate) are always updated by JMX and there are no inconsistent 
> validations that might cover bugs. Validate proper update in Settings Virtual 
> Table
> I branched the configCompatibilityTest in 4.1 in order to get the lists of 
> properties in this 
> [commit|https://github.com/ekaterinadimitrova2/cassandra/commit/f2c02861abf0d6c34257d2fac827562437362137]
>  - the commit won't get into the codebase, just pasting so people know how 
> the lists were generated:
> *DataRateSpec* - entire_sstable_stream_throughput_outbound, 
> inter_dc_stream_throughput_outbound, 
> entire_sstable_inter_dc_stream_throughput_outbound, compaction_throughput, 
> stream_throughput_outbound - we have setGet* tests and those seem solid, no 
> issues found.
> *DurationSpec* - gc_log_threshold, permissions_validity, denylist_refresh, 
> request_timeout, hints_flush_period, read_request_timeout, 
> index_summary_resize_interval, streaming_keep_alive_period, max_hint_window, 
> roles_update_interval, user_defined_functions_fail_timeout, 
> write_request_timeout, cdc_free_space_check_interval, roles_validity, 
> internode_streaming_tcp_user_timeout, gc_warn_threshold, 
> range_request_timeout, credentials_update_interval, truncate_request_timeout, 
> cas_contention_timeout, periodic_commitlog_sync_lag_block, 
> streaming_state_expires, repair_request_timeout, permissions_update_interval, 
> dynamic_snitch_reset_interval, internode_tcp_connect_timeout, 
> paxos_purge_grace_period, dynamic_snitch_update_interval, 
> trace_type_query_ttl, denylist_initial_load_retry, commitlog_sync_period, 
> native_transport_idle_timeout, credentials_validity, 
> validation_preview_purge_head_start, repair_state_expires, 
> internode_tcp_user_timeout, trace_type_repair_ttl, cache_load_timeout, 
> commitlog_sync_group_window, slow_query_log_timeout, 
> counter_write_request_timeout, user_defined_functions_warn_timeout
> *DataStorageSpec* - 
> internode_application_send_queue_reserve_endpoint_capacity, cdc_total_space, 
> networking_cache_size, commitlog_total_space, 
> internode_application_send_queue_capacity, key_cache_size, 
> memtable_heap_space, trickle_fsync_interval, max_hints_size_per_host, 
> internode_application_receive_queue_reserve_endpoint_capacity, 
> native_transport_max_frame_size, coordinator_read_size_warn_threshold , 
> internode_application_receive_queue_reserve_global_capacity, 
> internode_max_message_size, file_cache_size, local_read_size_fail_threshold, 
> data_disk_usage_max_disk_size, memtable_offheap_space, 
> coordinator_read_size_fail_threshold, counter_cache_size, 
> prepared_statements_cache_size, batchlog_replay_throttle, 
> row_index_read_size_fail_threshold, index_summary_capacity, 
> repair_session_space, paxos_cache_size, collection_size_fail_threshold, 
> internode_application_send_queue_reserve_global_capacity, column_index_size, 
> native_transport_receive_queue_capacity, sstable_preemptive_open_interval, 
> max_mutation_size, min_free_space_per_drive, batch_size_fail_threshold, 
> hinted_handoff_throttle, row_index_read_size_warn_threshold, max_value_size, 
> column_index_cache_size, compaction_large_partition_warning_threshold, 
> max_hints_file_size, collection_size_warn_threshold, 
> native_transport_max_request_data_in_flight, 
> internode_socket_receive_buffer_size, 
> internode_application_receive_queue_capacity, 
> internode_socket_send_buffer_size, 

[jira] [Comment Edited] (CASSANDRA-17737) Validate that JMX updates properly any properties that were moved to the new config classes

2022-07-27 Thread Ekaterina Dimitrova (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-17737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17571650#comment-17571650
 ] 

Ekaterina Dimitrova edited comment on CASSANDRA-17737 at 7/27/22 1:15 PM:
--

So the property I  am wondering about is sstable_preemptive_open_interval.

It seems we have a 
[check|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/io/sstable/SSTableRewriter.java#L109]
 for being less than 0, I can see that for Windows we were setting it to -1 
[here|https://github.com/apache/cassandra/commit/da47849b50daa0580f2cb4264bcee8a75140eb05#diff-054af65b8d690b0fddc3e0a4ef05a80d8f1d6689b4f77912795fec019200666cL2806]
 before the windows support was removed, not anymore. Negatives are not 
documented anywhere and in 4.1 we cannot set it to negatives anymore (after 
CASSANDRA-15234). Not sure whether we should add a converter similar to other 
properties that if this one was set to negative value with the old name 
sstable_preemptive_open_interval_in_mb we should assign null with the new name 
post 4.1(keep also the backward compatibility 
sstable_preemptive_open_interval_in_mb=-1 meaning disabled) and use that one. I 
suspect it was left undocumented and advanced option? Or was -1 only for 
Windows?? [~benedict] I see you added this one long time ago in CASSANDRA-6916, 
do you think you can advise me here, please? Or maybe [~stefan.miklosovic] or 
[~jmckenzie] can advise me as you were working on removing the Windows support 
classes in CASSANDRA-16956? Trying not to break users.


was (Author: e.dimitrova):
So the property I  am wondering about is sstable_preemptive_open_interval.

It seems we have a 
[check|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/io/sstable/SSTableRewriter.java#L109]
 for being less than 0, I can see that for Windows we were setting it to -1 
[here|https://github.com/apache/cassandra/commit/da47849b50daa0580f2cb4264bcee8a75140eb05#diff-054af65b8d690b0fddc3e0a4ef05a80d8f1d6689b4f77912795fec019200666cL2806]
 before the windows support was removed, not anymore. Negatives are not 
documented anywhere and in 4.1 we cannot set it to negatives anymore (after 
CASSANDRA-15234). Not sure whether we should add a converter similar to other 
properties that if this one was set to negative value with the old name 
sstable_preemptive_open_interval_in_mb we should assign null with the new name 
post 4.1 and use that one. I suspect it was left undocumented and advanced 
option? Or was -1 only for Windows?? [~benedict] I see you added this one long 
time ago in CASSANDRA-6916, do you think you can advise me here, please? Or 
maybe [~stefan.miklosovic] or [~jmckenzie] can advise me as you were working on 
removing the Windows support classes in CASSANDRA-16956? Trying not to break 
users.

> Validate that JMX updates properly any properties that were moved to the new 
> config classes
> ---
>
> Key: CASSANDRA-17737
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17737
> Project: Cassandra
>  Issue Type: Task
>  Components: Local/Config
>Reporter: Ekaterina Dimitrova
>Assignee: Ekaterina Dimitrova
>Priority: Normal
> Fix For: 4.0.x, 4.1-beta, 4.1.x, 4.x
>
>
> Check that any properties moved to the new types in 4.1 (Duration, Data 
> Storage, Data Rate) are always updated by JMX and there are no inconsistent 
> validations that might cover bugs. Validate proper update in Settings Virtual 
> Table
> I branched the configCompatibilityTest in 4.1 in order to get the lists of 
> properties in this 
> [commit|https://github.com/ekaterinadimitrova2/cassandra/commit/f2c02861abf0d6c34257d2fac827562437362137]
>  - the commit won't get into the codebase, just pasting so people know how 
> the lists were generated:
> *DataRateSpec* - entire_sstable_stream_throughput_outbound, 
> inter_dc_stream_throughput_outbound, 
> entire_sstable_inter_dc_stream_throughput_outbound, compaction_throughput, 
> stream_throughput_outbound - we have setGet* tests and those seem solid, no 
> issues found.
> *DurationSpec* - gc_log_threshold, permissions_validity, denylist_refresh, 
> request_timeout, hints_flush_period, read_request_timeout, 
> index_summary_resize_interval, streaming_keep_alive_period, max_hint_window, 
> roles_update_interval, user_defined_functions_fail_timeout, 
> write_request_timeout, cdc_free_space_check_interval, roles_validity, 
> internode_streaming_tcp_user_timeout, gc_warn_threshold, 
> range_request_timeout, credentials_update_interval, truncate_request_timeout, 
> cas_contention_timeout, periodic_commitlog_sync_lag_block, 
> streaming_state_expires, repair_request_timeout, permissions_update_interval, 
> 

[jira] [Comment Edited] (CASSANDRA-17737) Validate that JMX updates properly any properties that were moved to the new config classes

2022-07-27 Thread Ekaterina Dimitrova (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-17737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17571716#comment-17571716
 ] 

Ekaterina Dimitrova edited comment on CASSANDRA-17737 at 7/27/22 1:07 PM:
--

{quote}That said, I think we need to make sure we continue to respect the "-1 
== disabled" aspect of this config since there's clusters out there in the wild 
that are likely depending on that API contract.
{quote}
Absolutely! Now that we confirmed it I am going to push the patch as described 
tomorrow morning. It’s a pity it was not documented, otherwise it would have 
been already in place. But with the new framework it is a standard quick fix to 
add a backward compatibility so not a problem, we will have it. Thank you both 
for confirming it! 


was (Author: e.dimitrova):
Bq. That said, I think we need to make sure we continue to respect the "-1 == 
disabled" aspect of this config since there's clusters out there in the wild 
that are likely depending on that API contract.
Absolutely! Now that we confirmed it I am going to push the patch as described 
tomorrow morning. It’s a pity it was not documented, otherwise it would have 
been already in place. But with the new framework it is a standard quick fix to 
add a backward compatibility so not a problem, we will have it. Thank you both 
for confirming it! 

> Validate that JMX updates properly any properties that were moved to the new 
> config classes
> ---
>
> Key: CASSANDRA-17737
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17737
> Project: Cassandra
>  Issue Type: Task
>  Components: Local/Config
>Reporter: Ekaterina Dimitrova
>Assignee: Ekaterina Dimitrova
>Priority: Normal
> Fix For: 4.0.x, 4.1-beta, 4.1.x, 4.x
>
>
> Check that any properties moved to the new types in 4.1 (Duration, Data 
> Storage, Data Rate) are always updated by JMX and there are no inconsistent 
> validations that might cover bugs. Validate proper update in Settings Virtual 
> Table
> I branched the configCompatibilityTest in 4.1 in order to get the lists of 
> properties in this 
> [commit|https://github.com/ekaterinadimitrova2/cassandra/commit/f2c02861abf0d6c34257d2fac827562437362137]
>  - the commit won't get into the codebase, just pasting so people know how 
> the lists were generated:
> *DataRateSpec* - entire_sstable_stream_throughput_outbound, 
> inter_dc_stream_throughput_outbound, 
> entire_sstable_inter_dc_stream_throughput_outbound, compaction_throughput, 
> stream_throughput_outbound - we have setGet* tests and those seem solid, no 
> issues found.
> *DurationSpec* - gc_log_threshold, permissions_validity, denylist_refresh, 
> request_timeout, hints_flush_period, read_request_timeout, 
> index_summary_resize_interval, streaming_keep_alive_period, max_hint_window, 
> roles_update_interval, user_defined_functions_fail_timeout, 
> write_request_timeout, cdc_free_space_check_interval, roles_validity, 
> internode_streaming_tcp_user_timeout, gc_warn_threshold, 
> range_request_timeout, credentials_update_interval, truncate_request_timeout, 
> cas_contention_timeout, periodic_commitlog_sync_lag_block, 
> streaming_state_expires, repair_request_timeout, permissions_update_interval, 
> dynamic_snitch_reset_interval, internode_tcp_connect_timeout, 
> paxos_purge_grace_period, dynamic_snitch_update_interval, 
> trace_type_query_ttl, denylist_initial_load_retry, commitlog_sync_period, 
> native_transport_idle_timeout, credentials_validity, 
> validation_preview_purge_head_start, repair_state_expires, 
> internode_tcp_user_timeout, trace_type_repair_ttl, cache_load_timeout, 
> commitlog_sync_group_window, slow_query_log_timeout, 
> counter_write_request_timeout, user_defined_functions_warn_timeout
> *DataStorageSpec* - 
> internode_application_send_queue_reserve_endpoint_capacity, cdc_total_space, 
> networking_cache_size, commitlog_total_space, 
> internode_application_send_queue_capacity, key_cache_size, 
> memtable_heap_space, trickle_fsync_interval, max_hints_size_per_host, 
> internode_application_receive_queue_reserve_endpoint_capacity, 
> native_transport_max_frame_size, coordinator_read_size_warn_threshold , 
> internode_application_receive_queue_reserve_global_capacity, 
> internode_max_message_size, file_cache_size, local_read_size_fail_threshold, 
> data_disk_usage_max_disk_size, memtable_offheap_space, 
> coordinator_read_size_fail_threshold, counter_cache_size, 
> prepared_statements_cache_size, batchlog_replay_throttle, 
> row_index_read_size_fail_threshold, index_summary_capacity, 
> repair_session_space, paxos_cache_size, collection_size_fail_threshold, 
> internode_application_send_queue_reserve_global_capacity, column_index_size, 
> 

[jira] [Comment Edited] (CASSANDRA-17737) Validate that JMX updates properly any properties that were moved to the new config classes

2022-07-26 Thread Ekaterina Dimitrova (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-17737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17571665#comment-17571665
 ] 

Ekaterina Dimitrova edited comment on CASSANDRA-17737 at 7/27/22 12:29 AM:
---

Hey [~jonmeredith], thank you so much for the quick response. Appreciate it!

I am not sure what you mean by:
{quote}Invalid annotations, you have more than one @Replaces annotation in 
Config class with same old name(sstable_preemptive_open_interval_in_mb) 
defined. 
{quote}
I guess you hit this when trying to add new property and using second 
annotation with the same old name but for new property?

What we can do and we already do for other properties is change the Converter 
in the @Replaces for sstable_preemptive_open_interval_in_mb

If we change the converter Converters.MEBIBYTES_DATA_STORAGE_INT for this 
property with a new one - Converters.NEGATIVE_MEBIBYTES_DATA_STORAGE_INT, that 
should do the magic

Any negative sstable_preemptive_open_interval_in_mb will be equal to setting 
sstable_preemptive_open_interval as null 4.1+.

To see what I mean you might want to look at the Converters class, 
NEGATIVE_SECONDS_DURATION is a similar converter but for duration properties.

I can create a patch tomorrow morning as part of this ticket

 


was (Author: e.dimitrova):
Hey [~jonmeredith], thank you so much for the quick response. Appreciate it!

I am not sure what you mean by:
{quote}Invalid annotations, you have more than one @Replaces annotation in 
Config class with same old name(sstable_preemptive_open_interval_in_mb) 
defined. 
{quote}
I guess you hit this when trying to add new property and using second 
annotation with the same old name but for new property?

What we can do and we already do for other properties is change the Converter 
in the @Replaces for sstable_preemptive_open_interval_in_mb

If we change the converter Converters.MEBIBYTES_DATA_STORAGE_INT for this 
property with a new one - Converters.NEGATIVE_MEBIBYTES_DATA_STORAGE_INT, that 
should do the magic

any negative sstable_preemptive_open_interval_in_mb will be equal to setting 
sstable_preemptive_open_interval as null 4.1+.

To see what I mean you might want to look at the Converters class, 
NEGATIVE_SECONDS_DURATION is a similar converter but for duration properties.

I can create a patch tomorrow morning as part of this ticket

 

> Validate that JMX updates properly any properties that were moved to the new 
> config classes
> ---
>
> Key: CASSANDRA-17737
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17737
> Project: Cassandra
>  Issue Type: Task
>  Components: Local/Config
>Reporter: Ekaterina Dimitrova
>Assignee: Ekaterina Dimitrova
>Priority: Normal
> Fix For: 4.0.x, 4.1-beta, 4.1.x, 4.x
>
>
> Check that any properties moved to the new types in 4.1 (Duration, Data 
> Storage, Data Rate) are always updated by JMX and there are no inconsistent 
> validations that might cover bugs. Validate proper update in Settings Virtual 
> Table
> I branched the configCompatibilityTest in 4.1 in order to get the lists of 
> properties in this 
> [commit|https://github.com/ekaterinadimitrova2/cassandra/commit/f2c02861abf0d6c34257d2fac827562437362137]
>  - the commit won't get into the codebase, just pasting so people know how 
> the lists were generated:
> *DataRateSpec* - entire_sstable_stream_throughput_outbound, 
> inter_dc_stream_throughput_outbound, 
> entire_sstable_inter_dc_stream_throughput_outbound, compaction_throughput, 
> stream_throughput_outbound - we have setGet* tests and those seem solid, no 
> issues found.
> *DurationSpec* - gc_log_threshold, permissions_validity, denylist_refresh, 
> request_timeout, hints_flush_period, read_request_timeout, 
> index_summary_resize_interval, streaming_keep_alive_period, max_hint_window, 
> roles_update_interval, user_defined_functions_fail_timeout, 
> write_request_timeout, cdc_free_space_check_interval, roles_validity, 
> internode_streaming_tcp_user_timeout, gc_warn_threshold, 
> range_request_timeout, credentials_update_interval, truncate_request_timeout, 
> cas_contention_timeout, periodic_commitlog_sync_lag_block, 
> streaming_state_expires, repair_request_timeout, permissions_update_interval, 
> dynamic_snitch_reset_interval, internode_tcp_connect_timeout, 
> paxos_purge_grace_period, dynamic_snitch_update_interval, 
> trace_type_query_ttl, denylist_initial_load_retry, commitlog_sync_period, 
> native_transport_idle_timeout, credentials_validity, 
> validation_preview_purge_head_start, repair_state_expires, 
> internode_tcp_user_timeout, trace_type_repair_ttl, cache_load_timeout, 
> commitlog_sync_group_window, slow_query_log_timeout, 
> counter_write_request_timeout, 

[jira] [Comment Edited] (CASSANDRA-17737) Validate that JMX updates properly any properties that were moved to the new config classes

2022-07-26 Thread Ekaterina Dimitrova (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-17737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17571650#comment-17571650
 ] 

Ekaterina Dimitrova edited comment on CASSANDRA-17737 at 7/26/22 11:05 PM:
---

So the property I  am wondering about is sstable_preemptive_open_interval.

It seems we have a 
[check|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/io/sstable/SSTableRewriter.java#L109]
 for being less than 0, I can see that for Windows we were setting it to -1 
[here|https://github.com/apache/cassandra/commit/da47849b50daa0580f2cb4264bcee8a75140eb05#diff-054af65b8d690b0fddc3e0a4ef05a80d8f1d6689b4f77912795fec019200666cL2806]
 before the windows support was removed, not anymore. Negatives are not 
documented anywhere and in 4.1 we cannot set it to negatives anymore (after 
CASSANDRA-15234). Not sure whether we should add a converter similar to other 
properties that if this one was set to negative value with the old name 
sstable_preemptive_open_interval_in_mb we should assign null with the new name 
post 4.1 and use that one. I suspect it was left undocumented and advanced 
option? Or was -1 only for Windows?? [~benedict] I see you added this one long 
time ago in CASSANDRA-6916, do you think you can advise me here, please? Or 
maybe [~stefan.miklosovic] or [~jmckenzie] can advise me as you were working on 
removing the Windows support classes in CASSANDRA-16956? Trying not to break 
users.


was (Author: e.dimitrova):
So the property I  am wondering about is sstable_preemptive_open_interval.

It seems we have a 
[check|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/io/sstable/SSTableRewriter.java#L109]
 for being less than 0, I can see that for Windows we were setting it to -1 
[here|https://github.com/apache/cassandra/commit/da47849b50daa0580f2cb4264bcee8a75140eb05#diff-054af65b8d690b0fddc3e0a4ef05a80d8f1d6689b4f77912795fec019200666cL2806]
 before the windows support was removed, not anymore. Negatives are not 
documented anywhere and in 4.1 we cannot set it to negatives anymore (after 
CASSANDRA-15234). Not sure whether we should add a converter similar to other 
properties that if this one was set to negative value with the old name 
sstable_preemptive_open_interval_in_mb we should assign null with the new name 
post 4.1 and use that one. I suspect it was left undocumented and advanced 
option? Or was -1 only for Windows?? [~benedict] I see you added this one long 
time ago in CASSANDRA-6916, do you think you can advise me here, please? Or 
maybe [~stefan.miklosovic] , [~brandon.williams] or [~jmckenzie] can advise me 
as you were working on removing the Windows support classes? Trying not to 
break users.

> Validate that JMX updates properly any properties that were moved to the new 
> config classes
> ---
>
> Key: CASSANDRA-17737
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17737
> Project: Cassandra
>  Issue Type: Task
>  Components: Local/Config
>Reporter: Ekaterina Dimitrova
>Assignee: Ekaterina Dimitrova
>Priority: Normal
> Fix For: 4.0.x, 4.1-beta, 4.1.x, 4.x
>
>
> Check that any properties moved to the new types in 4.1 (Duration, Data 
> Storage, Data Rate) are always updated by JMX and there are no inconsistent 
> validations that might cover bugs. Validate proper update in Settings Virtual 
> Table
> I branched the configCompatibilityTest in 4.1 in order to get the lists of 
> properties in this 
> [commit|https://github.com/ekaterinadimitrova2/cassandra/commit/f2c02861abf0d6c34257d2fac827562437362137]
>  - the commit won't get into the codebase, just pasting so people know how 
> the lists were generated:
> *DataRateSpec* - entire_sstable_stream_throughput_outbound, 
> inter_dc_stream_throughput_outbound, 
> entire_sstable_inter_dc_stream_throughput_outbound, compaction_throughput, 
> stream_throughput_outbound - we have setGet* tests and those seem solid, no 
> issues found.
> *DurationSpec* - gc_log_threshold, permissions_validity, denylist_refresh, 
> request_timeout, hints_flush_period, read_request_timeout, 
> index_summary_resize_interval, streaming_keep_alive_period, max_hint_window, 
> roles_update_interval, user_defined_functions_fail_timeout, 
> write_request_timeout, cdc_free_space_check_interval, roles_validity, 
> internode_streaming_tcp_user_timeout, gc_warn_threshold, 
> range_request_timeout, credentials_update_interval, truncate_request_timeout, 
> cas_contention_timeout, periodic_commitlog_sync_lag_block, 
> streaming_state_expires, repair_request_timeout, permissions_update_interval, 
> dynamic_snitch_reset_interval, internode_tcp_connect_timeout, 
> paxos_purge_grace_period, 

[jira] [Comment Edited] (CASSANDRA-17737) Validate that JMX updates properly any properties that were moved to the new config classes

2022-07-26 Thread Ekaterina Dimitrova (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-17737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17571650#comment-17571650
 ] 

Ekaterina Dimitrova edited comment on CASSANDRA-17737 at 7/26/22 11:04 PM:
---

So the property I  am wondering about is sstable_preemptive_open_interval.

It seems we have a 
[check|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/io/sstable/SSTableRewriter.java#L109]
 for being less than 0, I can see that for Windows we were setting it to -1 
[here|https://github.com/apache/cassandra/commit/da47849b50daa0580f2cb4264bcee8a75140eb05#diff-054af65b8d690b0fddc3e0a4ef05a80d8f1d6689b4f77912795fec019200666cL2806]
 before the windows support was removed, not anymore. Negatives are not 
documented anywhere and in 4.1 we cannot set it to negatives anymore (after 
CASSANDRA-15234). Not sure whether we should add a converter similar to other 
properties that if this one was set to negative value with the old name 
sstable_preemptive_open_interval_in_mb we should assign null with the new name 
post 4.1 and use that one. I suspect it was left undocumented and advanced 
option? Or was -1 only for Windows?? [~benedict] I see you added this one long 
time ago in CASSANDRA-6916, do you think you can advise me here, please? Or 
maybe [~stefan.miklosovic] , [~brandon.williams] or [~jmckenzie] can advise me 
as you were working on removing the Windows support classes? Trying not to 
break users.


was (Author: e.dimitrova):
So the property I  am wondering about is sstable_preemptive_open_interval.

It seems we have a 
[check|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/io/sstable/SSTableRewriter.java#L109]
 for being less than 0, I can see that for Windows we were setting it to -1 
[here|https://github.com/apache/cassandra/commit/da47849b50daa0580f2cb4264bcee8a75140eb05#diff-054af65b8d690b0fddc3e0a4ef05a80d8f1d6689b4f77912795fec019200666cL2806]
 before the windows support was removed, not anymore. Negatives are not 
documented anywhere and in 4.1 we cannot set it to negatives anymore (after 
CASSANDRA-15234). Not sure whether we should add a converter similar to other 
properties that if this one was set to negative value with the old name 
sstable_preemptive_open_interval_in_mb we should assign null with the new name 
post 4.1 and use that one. I suspect it was left undocumented and advanced 
option? Or was -1 only for Windows?? [~benedict] I see you added this one long 
time ago in CASSANDRA-6916, do you think you can advise me here, please? Or 
maybe [~stefan.miklosovic] , [~brandon.williams] or [~jmckenzie] can advise as 
you were working on removing the windows support? Trying not to break users.

> Validate that JMX updates properly any properties that were moved to the new 
> config classes
> ---
>
> Key: CASSANDRA-17737
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17737
> Project: Cassandra
>  Issue Type: Task
>  Components: Local/Config
>Reporter: Ekaterina Dimitrova
>Assignee: Ekaterina Dimitrova
>Priority: Normal
> Fix For: 4.0.x, 4.1-beta, 4.1.x, 4.x
>
>
> Check that any properties moved to the new types in 4.1 (Duration, Data 
> Storage, Data Rate) are always updated by JMX and there are no inconsistent 
> validations that might cover bugs. Validate proper update in Settings Virtual 
> Table
> I branched the configCompatibilityTest in 4.1 in order to get the lists of 
> properties in this 
> [commit|https://github.com/ekaterinadimitrova2/cassandra/commit/f2c02861abf0d6c34257d2fac827562437362137]
>  - the commit won't get into the codebase, just pasting so people know how 
> the lists were generated:
> *DataRateSpec* - entire_sstable_stream_throughput_outbound, 
> inter_dc_stream_throughput_outbound, 
> entire_sstable_inter_dc_stream_throughput_outbound, compaction_throughput, 
> stream_throughput_outbound - we have setGet* tests and those seem solid, no 
> issues found.
> *DurationSpec* - gc_log_threshold, permissions_validity, denylist_refresh, 
> request_timeout, hints_flush_period, read_request_timeout, 
> index_summary_resize_interval, streaming_keep_alive_period, max_hint_window, 
> roles_update_interval, user_defined_functions_fail_timeout, 
> write_request_timeout, cdc_free_space_check_interval, roles_validity, 
> internode_streaming_tcp_user_timeout, gc_warn_threshold, 
> range_request_timeout, credentials_update_interval, truncate_request_timeout, 
> cas_contention_timeout, periodic_commitlog_sync_lag_block, 
> streaming_state_expires, repair_request_timeout, permissions_update_interval, 
> dynamic_snitch_reset_interval, internode_tcp_connect_timeout, 
> paxos_purge_grace_period, dynamic_snitch_update_interval, 

[jira] [Comment Edited] (CASSANDRA-17737) Validate that JMX updates properly any properties that were moved to the new config classes

2022-07-26 Thread Jira


[ 
https://issues.apache.org/jira/browse/CASSANDRA-17737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17571337#comment-17571337
 ] 

Andres de la Peña edited comment on CASSANDRA-17737 at 7/26/22 10:41 AM:
-

So far it looks good to me, +1. I've seen that there were some previous typos 
in the way the "threshold" word was written on {{{}GCInspector{}}}, including 
user-visible error messages. We could fix that nit on commit, [this 
way|https://github.com/adelapena/cassandra/commit/6704589093c6d2f869e4f2b63392432d22f2f9ab].

The plan is to include the next batches of commits into this same ticket, right?


was (Author: adelapena):
Looks good to me, +1. I've seen that there were some previous typos in the way 
the "threshold" word was written on {{{}GCInspector{}}}, including user-visible 
error messages. We could fix that nit on commit, [this 
way|https://github.com/adelapena/cassandra/commit/6704589093c6d2f869e4f2b63392432d22f2f9ab].

> Validate that JMX updates properly any properties that were moved to the new 
> config classes
> ---
>
> Key: CASSANDRA-17737
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17737
> Project: Cassandra
>  Issue Type: Task
>  Components: Local/Config
>Reporter: Ekaterina Dimitrova
>Assignee: Ekaterina Dimitrova
>Priority: Normal
> Fix For: 4.0.x, 4.1-beta, 4.1.x, 4.x
>
>
> Check that any properties moved to the new types in 4.1 (Duration, Data 
> Storage, Data Rate) are always updated by JMX and there are no inconsistent 
> validations that might cover bugs. Validate proper update in Settings Virtual 
> Table
> I branched the configCompatibilityTest in 4.1 in order to get the lists of 
> properties in this 
> [commit|https://github.com/ekaterinadimitrova2/cassandra/commit/f2c02861abf0d6c34257d2fac827562437362137]
>  - the commit won't get into the codebase, just pasting so people know how 
> the lists were generated:
> *DataRateSpec* - entire_sstable_stream_throughput_outbound, 
> inter_dc_stream_throughput_outbound, 
> entire_sstable_inter_dc_stream_throughput_outbound, compaction_throughput, 
> stream_throughput_outbound - we have setGet* tests and those seem solid, no 
> issues found.
> *DurationSpec* - gc_log_threshold, permissions_validity, denylist_refresh, 
> request_timeout, hints_flush_period, read_request_timeout, 
> index_summary_resize_interval, streaming_keep_alive_period, max_hint_window, 
> roles_update_interval, user_defined_functions_fail_timeout, 
> write_request_timeout, cdc_free_space_check_interval, roles_validity, 
> internode_streaming_tcp_user_timeout, gc_warn_threshold, 
> range_request_timeout, credentials_update_interval, truncate_request_timeout, 
> cas_contention_timeout, periodic_commitlog_sync_lag_block, 
> streaming_state_expires, repair_request_timeout, permissions_update_interval, 
> dynamic_snitch_reset_interval, internode_tcp_connect_timeout, 
> paxos_purge_grace_period, dynamic_snitch_update_interval, 
> trace_type_query_ttl, denylist_initial_load_retry, commitlog_sync_period, 
> native_transport_idle_timeout, credentials_validity, 
> validation_preview_purge_head_start, repair_state_expires, 
> internode_tcp_user_timeout, trace_type_repair_ttl, cache_load_timeout, 
> commitlog_sync_group_window, slow_query_log_timeout, 
> counter_write_request_timeout, user_defined_functions_warn_timeout
> *DataStorageSpec* - 
> internode_application_send_queue_reserve_endpoint_capacity, cdc_total_space, 
> networking_cache_size, commitlog_total_space, 
> internode_application_send_queue_capacity, key_cache_size, 
> memtable_heap_space, trickle_fsync_interval, max_hints_size_per_host, 
> internode_application_receive_queue_reserve_endpoint_capacity, 
> native_transport_max_frame_size, coordinator_read_size_warn_threshold , 
> internode_application_receive_queue_reserve_global_capacity, 
> internode_max_message_size, file_cache_size, local_read_size_fail_threshold, 
> data_disk_usage_max_disk_size, memtable_offheap_space, 
> coordinator_read_size_fail_threshold, counter_cache_size, 
> prepared_statements_cache_size, batchlog_replay_throttle, 
> row_index_read_size_fail_threshold, index_summary_capacity, 
> repair_session_space, paxos_cache_size, collection_size_fail_threshold, 
> internode_application_send_queue_reserve_global_capacity, column_index_size, 
> native_transport_receive_queue_capacity, sstable_preemptive_open_interval, 
> max_mutation_size, min_free_space_per_drive, batch_size_fail_threshold, 
> hinted_handoff_throttle, row_index_read_size_warn_threshold, max_value_size, 
> column_index_cache_size, compaction_large_partition_warning_threshold, 
> max_hints_file_size, collection_size_warn_threshold, 
> 

[jira] [Comment Edited] (CASSANDRA-17737) Validate that JMX updates properly any properties that were moved to the new config classes

2022-07-24 Thread Ekaterina Dimitrova (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-17737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17570574#comment-17570574
 ] 

Ekaterina Dimitrova edited comment on CASSANDRA-17737 at 7/25/22 2:12 AM:
--

First batch of issues I discovered:
 * CASSANDRA-17768 - streaming_keep_alive_period is not used after 
CASSANDRA-16927 CEP-10 Phase 1: Refactor Streaming * Fixed 2 properties in 
GCInspector
 * Fixed non-mutable prepared_statements_cache_size_mb, key_cache_size_in_mb, 
counter_cache_size_in_mb to be updated in Settings Virtual Table on startup
 * Fixed conf.index_summary_capacity_in_mb - this is ninja fix for 
CASSANDRA-17735 4.0 branch as it seems the 1 line fix for 4.0 didn't make it 
after squash to 4.0, only 4.1 and trunk. I noticed that only after the commit 
unfortunately :( 
 * Fixed two GCInspector properties - further to not being updated for Settings 
Virtual Table the JMX methods accept long while the Config properties are int. 

[4.0|https://github.com/apache/cassandra/pull/1748] 
[CI|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra?branch=17737-4.0]

[4.1|https://github.com/apache/cassandra/pull/1747] 
[CI|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra?branch=C17737-4.1]

[trunk|https://github.com/apache/cassandra/pull/1749] 
[CI|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra?branch=C17737-trunk]

[~adelapena] , do you think you can check this batch of commits, please?

I will probably add a few more tomorrow but I want to make this work 
incremental as I find that easier (a few more tests and one undocumented 4.0 
property that I am suspicious about and if I find anything else in the 
meantime...) 

 


was (Author: e.dimitrova):
First batch of issues I discovered:
 * CASSANDRA-17768 - streaming_keep_alive_period is not used after 
CASSANDRA-16927 CEP-10 Phase 1: Refactor Streaming * Fixed 2 properties in 
GCInspector
 * Fixed non-mutable prepared_statements_cache_size_mb, key_cache_size_in_mb, 
counter_cache_size_in_mb
 * Fixed conf.index_summary_capacity_in_mb - this is ninja fix for 
CASSANDRA-17735 4.0 branch as it seems the 1 line fix for 4.0 didn't make it 
after squash to 4.0, only 4.1 and trunk. I noticed that only after the commit 
unfortunately :( 
 * Fixed two GCInspector properties - further to not being updated for Settings 
Virtual Table the JMX methods accept long while the Config properties are int. 

[4.0|https://github.com/apache/cassandra/pull/1748] 
[CI|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra?branch=17737-4.0]

[4.1|https://github.com/apache/cassandra/pull/1747] 
[CI|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra?branch=C17737-4.1]

[trunk|https://github.com/apache/cassandra/pull/1749] 
[CI|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra?branch=C17737-trunk]

[~adelapena] , do you think you can check this batch of commits, please?

I will probably add a few more tomorrow but I want to make this work 
incremental as I find that easier (a few more tests and one undocumented 4.0 
property that I am suspicious about and if I find anything else in the 
meantime...) 

 

> Validate that JMX updates properly any properties that were moved to the new 
> config classes
> ---
>
> Key: CASSANDRA-17737
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17737
> Project: Cassandra
>  Issue Type: Task
>  Components: Local/Config
>Reporter: Ekaterina Dimitrova
>Assignee: Ekaterina Dimitrova
>Priority: Normal
> Fix For: 4.0.x, 4.1-beta, 4.1.x, 4.x
>
>
> Check that any properties moved to the new types in 4.1 (Duration, Data 
> Storage, Data Rate) are always updated by JMX and there are no inconsistent 
> validations that might cover bugs. Validate proper update in Settings Virtual 
> Table
> I branched the configCompatibilityTest in 4.1 in order to get the lists of 
> properties in this 
> [commit|https://github.com/ekaterinadimitrova2/cassandra/commit/f2c02861abf0d6c34257d2fac827562437362137]
>  - the commit won't get into the codebase, just pasting so people know how 
> the lists were generated:
> *DataRateSpec* - entire_sstable_stream_throughput_outbound, 
> inter_dc_stream_throughput_outbound, 
> entire_sstable_inter_dc_stream_throughput_outbound, compaction_throughput, 
> stream_throughput_outbound - we have setGet* tests and those seem solid, no 
> issues found.
> *DurationSpec* - gc_log_threshold, permissions_validity, denylist_refresh, 
> request_timeout, hints_flush_period, read_request_timeout, 
> index_summary_resize_interval, streaming_keep_alive_period, max_hint_window, 
> roles_update_interval,