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

Ekaterina Dimitrova updated CASSANDRA-17737:
--------------------------------------------
          Fix Version/s: 4.0.6
                         4.1-beta
                         4.1
                             (was: 4.x)
                             (was: 4.0.x)
                             (was: 4.1.x)
    Source Control Link: 
https://github.com/apache/cassandra/commit/bd08798c1385ddb132701d0f5c200066e3329d77
             Resolution: Fixed
                 Status: Resolved  (was: Ready to Commit)

> Validate that JMX updates in Config class any properties that were moved to 
> the new config classes and not local copies
> -----------------------------------------------------------------------------------------------------------------------
>
>                 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.6, 4.1-beta, 4.1
>
>
> Check that any properties moved to the new types in 4.1 (Duration, Data 
> Storage, Data Rate) in Config class are always updated by JMX (JMX might 
> update local copies out of Config). This is directly connected to the correct 
> update of the properties in Settings Virtual Table after startup.
> 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, row_cache_size, 
> min_tracked_partition_size, local_read_size_warn_threshold, 
> commitlog_segment_size, batch_size_warn_threshold, streaming_state_size, 
> native_transport_max_request_data_in_flight_per_ip
> NOTE: Some of those were checked/fixed in other tickets but I post the full 
> lists for completeness
> -------
> *Fixes/commits based on this work:*
>  
> 1) Fix Setting Virtual Table to update after startup config properties 
> gc_log_threshold_in_ms, gc_warn_threshold_in_ms, 
> conf.index_summary_capacity_in_mb, prepared_statements_cache_size_mb, 
> key_cache_size_in_mb, counter_cache_size_in_mb - 
> [4.0|https://github.com/apache/cassandra/commit/04901913d61f047e806bb4c2bbd530677958a919],
>   
> [4.1|https://github.com/apache/cassandra/commit/222f66e093b1cf315319b27fd8d0990bc9a9c92c],
>   
> [trunk|https://github.com/apache/cassandra/commit/0e3bdeab73ad89b7f48fd366b1b2723f5800e784]
> 2) 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
> [4.1|https://github.com/apache/cassandra/commit/fe28f482db0e1bc81936a62d0564e9657f428d2a],
>  
> [trunk|https://github.com/apache/cassandra/commit/b94bf3f2186aa083a25ddb6cf7f6b2f45fc8b566]
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to