[ https://issues.apache.org/jira/browse/CASSANDRA-17292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17487396#comment-17487396 ]
David Capwell commented on CASSANDRA-17292: ------------------------------------------- Using CASSANDRA-17166 I took a dump of all our configs (doesn't include CASSANDRA-15234, which would have grouped things by feature more cleanly), below is every config reachable from Config and their type {code} allocate_tokens_for_keyspace: String allocate_tokens_for_local_replication_factor: int audit_logging_options: # AuditLogOptions archive_command: String audit_logs_dir: String block: boolean enabled: boolean excluded_categories: String excluded_keyspaces: String excluded_users: String included_categories: String included_keyspaces: String included_users: String logger: # ParameterizedClass class_name: String parameters: Map max_archive_retries: int max_log_size: long max_queue_weight: int roll_cycle: String auth_cache_warming_enabled: boolean auth_read_consistency_level: String auth_write_consistency_level: String authenticator: String authorizer: String auto_bootstrap: boolean auto_hints_cleanup_enabled: boolean auto_optimise_full_repair_streams: boolean auto_optimise_inc_repair_streams: boolean auto_optimise_preview_repair_streams: boolean auto_snapshot: boolean autocompaction_on_startup_enabled: boolean automatic_sstable_upgrade: boolean available_processors: int back_pressure_enabled: boolean back_pressure_strategy: # ParameterizedClass class_name: String parameters: Map batch_size_fail_threshold_in_kb: int batch_size_warn_threshold_in_kb: int batchlog_replay_throttle_in_kb: int block_for_peers_in_remote_dcs: boolean block_for_peers_timeout_in_secs: int broadcast_address: String broadcast_rpc_address: String buffer_pool_use_heap_if_exhausted: boolean cache_load_timeout_seconds: int cas_contention_timeout_in_ms: long cdc_block_writes: boolean cdc_enabled: boolean cdc_free_space_check_interval_ms: int cdc_raw_directory: String cdc_total_space_in_mb: int check_for_duplicate_rows_during_compaction: boolean check_for_duplicate_rows_during_reads: boolean client_encryption_options: # EncryptionOptions accepted_protocols: List algorithm: String cipher_suites: List enabled: Boolean keystore: String keystore_password: String optional: boolean protocol: String require_client_auth: boolean require_endpoint_verification: boolean ssl_context_factory: # ParameterizedClass class_name: String parameters: Map store_type: String truststore: String truststore_password: String client_error_reporting_exclusions: # SubnetGroups empty: boolean subnets: Set cluster_name: String column_index_cache_size_in_kb: int column_index_size_in_kb: int commit_failure_policy: Enum<CommitFailurePolicy> commitlog_compression: # ParameterizedClass class_name: String parameters: Map commitlog_directory: String commitlog_max_compression_buffers_in_pool: int commitlog_periodic_queue_size: int commitlog_segment_size_in_mb: int commitlog_sync: Enum<CommitLogSync> commitlog_sync_batch_window_in_ms: double commitlog_sync_group_window_in_ms: double commitlog_sync_period_in_ms: int commitlog_total_space_in_mb: int compaction_large_partition_warning_threshold_mb: int compaction_throughput_mb_per_sec: int compaction_tombstone_warning_threshold: int concurrent_compactors: int concurrent_counter_writes: int concurrent_materialized_view_builders: int concurrent_materialized_view_writes: int concurrent_reads: int concurrent_replicates: int concurrent_validations: int concurrent_writes: int consecutive_message_errors_threshold: int corrupted_tombstone_strategy: Enum<CorruptedTombstoneStrategy> counter_cache_keys_to_save: int counter_cache_save_period: int counter_cache_size_in_mb: long counter_write_request_timeout_in_ms: long credentials_cache_active_update: boolean credentials_cache_max_entries: int credentials_update_interval_in_ms: int credentials_validity_in_ms: int cross_node_timeout: boolean data_file_directories: String[] default_keyspace_rf: int denylist_consistency_level: Enum<ConsistencyLevel> denylist_initial_load_retry_seconds: int denylist_max_keys_per_table: int denylist_max_keys_total: int denylist_refresh_seconds: int diagnostic_events_enabled: boolean disk_access_mode: Enum<DiskAccessMode> disk_failure_policy: Enum<DiskFailurePolicy> disk_optimization_estimate_percentile: double disk_optimization_page_cross_chance: double disk_optimization_strategy: Enum<DiskOptimizationStrategy> dynamic_snitch: boolean dynamic_snitch_badness_threshold: double dynamic_snitch_reset_interval_in_ms: int dynamic_snitch_update_interval_in_ms: int enable_denylist_range_reads: boolean enable_denylist_reads: boolean enable_denylist_writes: boolean enable_drop_compact_storage: boolean enable_materialized_views: boolean enable_partition_denylist: boolean enable_sasi_indexes: boolean enable_scripted_user_defined_functions: boolean enable_transient_replication: boolean enable_user_defined_functions: boolean enable_user_defined_functions_threads: boolean endpoint_snitch: String entire_sstable_inter_dc_stream_throughput_outbound_megabits_per_sec: int entire_sstable_stream_throughput_outbound_megabits_per_sec: int failure_detector: String file_cache_enabled: boolean file_cache_round_up: Boolean file_cache_size_in_mb: int flush_compression: Enum<FlushCompression> full_query_logging_options: # FullQueryLoggerOptions archive_command: String block: boolean log_dir: String max_archive_retries: int max_log_size: long max_queue_weight: int roll_cycle: String gc_log_threshold_in_ms: int gc_warn_threshold_in_ms: int guardrails: # GuardrailsOptions columns_per_table: # IntThreshold abort_threshold: int name: String warn_threshold: int enabled: boolean keyspaces: # IntThreshold abort_threshold: int name: String warn_threshold: int materialized_views_per_table: # IntThreshold abort_threshold: int name: String warn_threshold: int page_size: # IntThreshold abort_threshold: int name: String warn_threshold: int read_before_write_list_operations_enabled: boolean secondary_indexes_per_table: # IntThreshold abort_threshold: int name: String warn_threshold: int table_properties: # TableProperties disallowed: Set ignored: Set name: String tables: # IntThreshold abort_threshold: int name: String warn_threshold: int user_timestamps_enabled: boolean hint_window_persistent_enabled: boolean hinted_handoff_disabled_datacenters: Set hinted_handoff_enabled: boolean hinted_handoff_throttle_in_kb: int hints_compression: # ParameterizedClass class_name: String parameters: Map hints_directory: String hints_flush_period_in_ms: int ideal_consistency_level: Enum<ConsistencyLevel> incremental_backups: boolean index_summary_capacity_in_mb: long index_summary_resize_interval_in_minutes: int initial_range_tombstone_list_allocation_size: int initial_token: String inter_dc_stream_throughput_outbound_megabits_per_sec: int inter_dc_tcp_nodelay: boolean internode_application_receive_queue_capacity_in_bytes: int internode_application_receive_queue_reserve_endpoint_capacity_in_bytes: int internode_application_receive_queue_reserve_global_capacity_in_bytes: int internode_application_send_queue_capacity_in_bytes: int internode_application_send_queue_reserve_endpoint_capacity_in_bytes: int internode_application_send_queue_reserve_global_capacity_in_bytes: int internode_authenticator: String internode_compression: Enum<InternodeCompression> internode_error_reporting_exclusions: # SubnetGroups empty: boolean subnets: Set internode_max_message_size_in_bytes: int internode_socket_receive_buffer_size_in_bytes: int internode_socket_send_buffer_size_in_bytes: int internode_streaming_tcp_user_timeout_in_ms: int internode_tcp_connect_timeout_in_ms: int internode_tcp_user_timeout_in_ms: int key_cache_keys_to_save: int key_cache_migrate_during_compaction: boolean key_cache_save_period: int key_cache_size_in_mb: long keyspace_count_warn_threshold: int listen_address: String listen_interface: String listen_interface_prefer_ipv6: boolean listen_on_broadcast_address: boolean local_system_data_file_directory: String max_concurrent_automatic_sstable_upgrades: int max_hint_window_in_ms: int max_hints_delivery_threads: int max_hints_file_size_in_mb: int max_mutation_size_in_kb: int max_streaming_retries: int max_value_size_in_mb: int memtable_allocation_type: Enum<MemtableAllocationType> memtable_cleanup_threshold: float memtable_flush_writers: int memtable_heap_space_in_mb: int memtable_offheap_space_in_mb: int min_free_space_per_drive_in_mb: int minimum_keyspace_rf: int native_transport_allow_older_protocols: boolean native_transport_flush_in_batches_legacy: boolean native_transport_idle_timeout_in_ms: long native_transport_max_concurrent_connections: long native_transport_max_concurrent_connections_per_ip: long native_transport_max_concurrent_requests_in_bytes: long native_transport_max_concurrent_requests_in_bytes_per_ip: long native_transport_max_frame_size_in_mb: int native_transport_max_negotiable_protocol_version: int native_transport_max_requests_per_second: int native_transport_max_threads: int native_transport_port: int native_transport_port_ssl: int native_transport_rate_limiting_enabled: boolean native_transport_receive_queue_capacity_in_bytes: int network_authorizer: String networking_cache_size_in_mb: int num_tokens: int partitioner: String paxos_cache_size_in_mb: long paxos_variant: Enum<PaxosVariant> periodic_commitlog_sync_lag_block_in_ms: int permissions_cache_active_update: boolean permissions_cache_max_entries: int permissions_update_interval_in_ms: int permissions_validity_in_ms: int phi_convict_threshold: double prepared_statements_cache_size_mb: long range_request_timeout_in_ms: long range_tombstone_list_growth_factor: double read_request_timeout_in_ms: long reject_repair_compaction_threshold: int repair_command_pool_full_strategy: Enum<RepairCommandPoolFullStrategy> repair_command_pool_size: int repair_session_max_tree_depth: int repair_session_space_in_mb: int repaired_data_tracking_for_partition_reads_enabled: boolean repaired_data_tracking_for_range_reads_enabled: boolean replica_filtering_protection: # ReplicaFilteringProtectionOptions cached_rows_fail_threshold: int cached_rows_warn_threshold: int report_unconfirmed_repaired_data_mismatches: boolean request_timeout_in_ms: long role_manager: String roles_cache_active_update: boolean roles_cache_max_entries: int roles_update_interval_in_ms: int roles_validity_in_ms: int row_cache_class_name: String row_cache_keys_to_save: int row_cache_save_period: int row_cache_size_in_mb: long rpc_address: String rpc_interface: String rpc_interface_prefer_ipv6: boolean rpc_keepalive: boolean saved_caches_directory: String seed_provider: # ParameterizedClass class_name: String parameters: Map server_encryption_options: # ServerEncryptionOptions accepted_protocols: List algorithm: String cipher_suites: List enable_legacy_ssl_storage_port: boolean enabled: Boolean internode_encryption: Enum<InternodeEncryption> keystore: String keystore_password: String optional: boolean protocol: String require_client_auth: boolean require_endpoint_verification: boolean ssl_context_factory: # ParameterizedClass class_name: String parameters: Map store_type: String truststore: String truststore_password: String slow_query_log_timeout_in_ms: long snapshot_before_compaction: boolean snapshot_links_per_second: long snapshot_on_duplicate_row_detection: boolean snapshot_on_repaired_data_mismatch: boolean ssl_storage_port: int sstable_preemptive_open_interval_in_mb: int start_native_transport: boolean storage_port: int stream_entire_sstables: boolean stream_throughput_outbound_megabits_per_sec: int streaming_connections_per_host: int streaming_keep_alive_period_in_secs: int table_count_warn_threshold: int tombstone_failure_threshold: int tombstone_warn_threshold: int tracetype_query_ttl: int tracetype_repair_ttl: int track_warnings: # TrackWarnings coordinator_read_size: # LongByteThreshold abort_threshold_kb: long warn_threshold_kb: long enabled: boolean local_read_size: # LongByteThreshold abort_threshold_kb: long warn_threshold_kb: long row_index_size: # IntByteThreshold abort_threshold_kb: int warn_threshold_kb: int transparent_data_encryption_options: # TransparentDataEncryptionOptions chunk_length_kb: int cipher: String enabled: boolean iv_length: int key_alias: String key_provider: # ParameterizedClass class_name: String parameters: Map traverse_auth_from_root: boolean trickle_fsync: boolean trickle_fsync_interval_in_kb: int truncate_request_timeout_in_ms: long unlogged_batch_across_partitions_warn_threshold: int use_deterministic_table_id: boolean use_offheap_merkle_trees: boolean user_defined_function_fail_timeout: long user_defined_function_warn_timeout: long user_function_timeout_policy: Enum<UserFunctionTimeoutPolicy> validation_preview_purge_head_start_in_sec: int windows_timer_interval: int write_request_timeout_in_ms: long {code} > Move cassandra.yaml toward a nested structure around major database concepts > ---------------------------------------------------------------------------- > > Key: CASSANDRA-17292 > URL: https://issues.apache.org/jira/browse/CASSANDRA-17292 > Project: Cassandra > Issue Type: Improvement > Components: Local/Config > Reporter: Caleb Rackliffe > Assignee: Caleb Rackliffe > Priority: Normal > Fix For: 5.x > > > Recent mailing list conversation (see "[DISCUSS] Nested YAML configs for new > features") has made it clear we will gravitate toward appropriately nested > structures for new parameters in {{cassandra.yaml}}, but from the scattered > conversation across a few Guardrails tickets (see CASSANDRA-17212 and > CASSANDRA-17148) and CASSANDRA-15234, there is also a general desire to > eventually extend this to the rest of {{cassandra.yaml}}. The benefits of > this change include those we gain by doing it for new features (single point > of interest for feature documentation, typed configuration objects, logical > grouping for additional parameters added over time, discoverability, etc.), > but one a larger scale. > This may overlap with ongoing work, including the Guardrails epic. Ideally, > even a rough cut of a design here would allow that to move forward in a > timely and coherent manner (with less long-term refactoring pain). > While these would have to be adjusted to CASSANDRA-15234 (probably after it > merges), there have been two proposals floated already for what this might > look like: > From [~maedhroz] - > https://github.com/maedhroz/cassandra/commit/49e83c70eba3357978d1081ecf500bbbdee960d8 > From [~benedict] - > https://github.com/belliottsmith/cassandra/commits/CASSANDRA-15234-grouping-ideas -- This message was sent by Atlassian Jira (v8.20.1#820001) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org