You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Ekaterina Dimitrova (Jira)" <ji...@apache.org> on 2022/07/20 23:13:00 UTC

[jira] [Commented] (CASSANDRA-17736) Settings Virtual Table should display the values assigned to a property in the DatabaseDescriptor on startup and not null (as per the yaml)

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

Ekaterina Dimitrova commented on CASSANDRA-17736:
-------------------------------------------------

Alright, as promised this is the list but the issue is it is 144 properties:

repaired_data_tracking_for_range_reads_enabled, block_for_peers_timeout_in_secs, flush_compression, audit_logging_options, row_cache_save_period, snapshot_links_per_second, disk_optimization_estimate_percentile, hinted_handoff_disabled_datacenters, cdc_enabled, commitlog_sync, concurrent_materialized_view_writes, hints_directory, native_transport_max_concurrent_connections_per_ip, rpc_interface_prefer_ipv6, check_for_duplicate_rows_during_compaction, user_function_timeout_policy, memtable_allocation_type, tombstone_warn_threshold, full_query_logging_options, table_count_warn_threshold, auto_optimise_inc_repair_streams, commitlog_sync_batch_window_in_ms, disk_failure_policy, tombstone_failure_threshold, initial_token, dynamic_snitch_badness_threshold, allocate_tokens_for_local_replication_factor, counter_cache_keys_to_save, disk_optimization_page_cross_chance, listen_on_broadcast_address, row_cache_class_name, disk_optimization_strategy, otc_backlog_expiration_interval_ms, counter_cache_save_period, keyspace_count_warn_threshold, role_manager, block_for_peers_in_remote_dcs, repair_command_pool_size, data_file_directories, seed_provider, check_for_duplicate_rows_during_reads, key_cache_migrate_during_compaction, network_authorizer, commitlog_compression, broadcast_address, snapshot_before_compaction, back_pressure_strategy, native_transport_port_ssl, allocate_tokens_for_keyspace, diagnostic_events_enabled, storage_port, autocompaction_on_startup_enabled, commit_failure_policy, concurrent_writes, hinted_handoff_enabled, automatic_sstable_upgrade, memtable_flush_writers, otc_coalescing_strategy, snapshot_on_repaired_data_mismatch, commitlog_max_compression_buffers_in_pool, roles_cache_max_entries, native_transport_max_negotiable_protocol_version, start_native_transport, ssl_storage_port, cluster_name, incremental_backups, key_cache_save_period, windows_timer_interval, rpc_interface, row_cache_keys_to_save, repair_command_pool_full_strategy, client_encryption_options, concurrent_validations, ideal_consistency_level, consecutive_message_errors_threshold, trickle_fsync, reject_repair_compaction_threshold, max_streaming_retries, native_transport_flush_in_batches_legacy, rpc_address, file_cache_enabled, cdc_raw_directory, num_tokens, repaired_data_tracking_for_partition_reads_enabled, commitlog_directory, unlogged_batch_across_partitions_warn_threshold, auto_bootstrap, authorizer, broadcast_rpc_address, listen_interface_prefer_ipv6, repair_session_max_tree_depth, auto_optimise_preview_repair_streams, concurrent_compactors, buffer_pool_use_heap_if_exhausted, local_system_data_file_directory, stream_entire_sstables, corrupted_tombstone_strategy, listen_address, rpc_keepalive, allow_extra_insecure_udfs, disk_access_mode, concurrent_counter_writes, dynamic_snitch, phi_convict_threshold, native_transport_max_threads, authenticator, allow_insecure_udfs, concurrent_replicates, auto_optimise_full_repair_streams, native_transport_allow_older_protocols, otc_coalescing_enough_coalesced_messages, report_unconfirmed_repaired_data_mismatches, use_offheap_merkle_trees, concurrent_materialized_view_builders, server_encryption_options, max_hints_delivery_threads, saved_caches_directory, max_concurrent_automatic_sstable_upgrades, file_cache_round_up, snapshot_on_duplicate_row_detection, internode_compression, otc_coalescing_window_us, credentials_cache_max_entries, native_transport_port, permissions_cache_max_entries, hints_compression, commitlog_periodic_queue_size, force_new_prepared_statement_behaviour, back_pressure_enabled, transparent_data_encryption_options, initial_range_tombstone_list_allocation_size, partitioner, listen_interface, inter_dc_tcp_nodelay, internode_authenticator, key_cache_keys_to_save, replica_filtering_protection, range_tombstone_list_growth_factor, native_transport_max_concurrent_connections, memtable_cleanup_threshold, concurrent_reads, streaming_connections_per_host, auto_snapshot, endpoint_snitch

One more point - some of those are of type custom  class and have nested parameters. I didn't list the nested parameters explicitly, but we should take a look at those too. 

My suggestion - I don't expect too many of these parameters listed to need fixes (I already checked like almost 200 in other tickets and there were just a few which need attention) but if the number is too big, we can split into a few sub-tasks this ticket and spread between a few people. That would be fair. In anyways, I suggest this to be done incrementally in batches. 

> Settings Virtual Table should display the values assigned to a property in the DatabaseDescriptor on startup and not null (as per the yaml)
> -------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-17736
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17736
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Local/Config
>            Reporter: Ekaterina Dimitrova
>            Priority: Normal
>             Fix For: 4.0.x, 4.1.x, 4.x
>
>
> There are a few properties that after startup do not show their assigned values as per the DatabaseDescriptor assignment but the cassandra.yaml value.
> They will not be also updated in the virtual table down the road in case they are updated through JMX, nodetool etc.
> EDIT: This ticket should serve to check the properties that are not type Duration, Data Storage and Data Rate; also that are not new to 4.1. I will post a list of who are those later today for convenience. We target all those in Config class (some advanced properties are not broadly advertised in cassandra.yaml intentionally).
> There is [Settings Virtual Table |https://cassandra.apache.org/doc/trunk/cassandra/new/virtualtables.html#settings-virtual-table] which is supposed to show the values for our config parameters at any time. Especially useful if any property was changed after startup through JMX/nodetool and it doesn't match anymore the value in cassandra.yaml. For this to be possible, we need to ensure that the parameters are always updated in the Config class. It was observed that some are not always updating in Config class, but after startup delegating to other internal variables. This is a bug and this task should review and address any new findings. 
> Classes of interest - [SettingsTable|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/virtual/SettingsTable.java] where you can see how config parameters are listed; [Config|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/config/Config.java] class where our configuration parameters are defined.
> We need patches 4.0 and above. I suggest you start looking into 4.0 branch and then merge into higher branches. As you won't be checking the data storage, data rate and duration type parameters, there shouldn't be many conflicts on merge. 
> We have a lot of parameters and I suggest you split the list into batches to check and produce patches where/if needed to make the work more incremental and easier to work on and review it.
>  



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

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org