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

Ekaterina Dimitrova edited comment on CASSANDRA-17737 at 8/4/22 5:11 PM:
-------------------------------------------------------------------------

Happy to report my best-effort revision didn't discover any other issues. 

[[Here|https://github.com/ekaterinadimitrova2/cassandra/commit/1c9e3685ffb5ccc2562368fa0539b984e75a0a45]
 is one commit that just adds similar tests to what we added in the previous 
commit for the other 2 Converters that special case null value.

No full CI triggered as I add only unit testing and the tests pass locally. In 
my opinion after this one get approved, we can close the ticket. And 
considering that these tests did not find anything, they are just to prevent 
regressions and for completeness - I do not consider this ticket anymore a 4.1 
beta blocker. 

EDIT: that one was for 4.1, 
[here|https://github.com/ekaterinadimitrova2/cassandra/commit/e0f8e7038a4471c9f3d5713ec57351be9d72b395]
 is also trunk (the same patch applied to both branches)


was (Author: e.dimitrova):
Happy to report my best-effort revision didn't discover any other issues. 

[[Here|https://github.com/ekaterinadimitrova2/cassandra/commit/1c9e3685ffb5ccc2562368fa0539b984e75a0a45]
 is one commit that just adds similar tests to what we added in the previous 
commit for the other 2 Converters that special case null value.

No full CI triggered as I add only unit testing and the tests pass locally. In 
my opinion after this one get approved, we can close the ticket. And 
considering that these tests did not find anything, they are just to prevent 
regressions and for completeness - I do not consider this ticket anymore a 4.1 
beta blocker. 

> 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.x, 4.1.x, 4.x
>
>
> 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