Class Config


  • public class Config
    extends java.lang.Object
    A class that contains configuration properties for the cassandra node it runs within. Properties declared as volatile can be mutated via JMX.
    • Field Detail

      • cluster_name

        public java.lang.String cluster_name
      • authenticator

        public java.lang.String authenticator
      • authorizer

        public java.lang.String authorizer
      • role_manager

        public java.lang.String role_manager
      • network_authorizer

        public java.lang.String network_authorizer
      • permissions_validity_in_ms

        public volatile int permissions_validity_in_ms
      • permissions_cache_max_entries

        public volatile int permissions_cache_max_entries
      • permissions_update_interval_in_ms

        public volatile int permissions_update_interval_in_ms
      • roles_validity_in_ms

        public volatile int roles_validity_in_ms
      • roles_cache_max_entries

        public volatile int roles_cache_max_entries
      • roles_update_interval_in_ms

        public volatile int roles_update_interval_in_ms
      • credentials_validity_in_ms

        public volatile int credentials_validity_in_ms
      • credentials_cache_max_entries

        public volatile int credentials_cache_max_entries
      • credentials_update_interval_in_ms

        public volatile int credentials_update_interval_in_ms
      • partitioner

        public java.lang.String partitioner
      • auto_bootstrap

        public boolean auto_bootstrap
      • hinted_handoff_enabled

        public volatile boolean hinted_handoff_enabled
      • hinted_handoff_disabled_datacenters

        public java.util.Set<java.lang.String> hinted_handoff_disabled_datacenters
      • max_hint_window_in_ms

        public volatile int max_hint_window_in_ms
      • hints_directory

        public java.lang.String hints_directory
      • force_new_prepared_statement_behaviour

        public volatile boolean force_new_prepared_statement_behaviour
      • initial_token

        public java.lang.String initial_token
      • num_tokens

        public java.lang.Integer num_tokens
      • allocate_tokens_for_keyspace

        public java.lang.String allocate_tokens_for_keyspace
        Triggers automatic allocation of tokens if set, using the replication strategy of the referenced keyspace
      • allocate_tokens_for_local_replication_factor

        public java.lang.Integer allocate_tokens_for_local_replication_factor
        Triggers automatic allocation of tokens if set, based on the provided replica count for a datacenter
      • native_transport_idle_timeout_in_ms

        public long native_transport_idle_timeout_in_ms
      • request_timeout_in_ms

        public volatile long request_timeout_in_ms
      • read_request_timeout_in_ms

        public volatile long read_request_timeout_in_ms
      • range_request_timeout_in_ms

        public volatile long range_request_timeout_in_ms
      • write_request_timeout_in_ms

        public volatile long write_request_timeout_in_ms
      • counter_write_request_timeout_in_ms

        public volatile long counter_write_request_timeout_in_ms
      • cas_contention_timeout_in_ms

        public volatile long cas_contention_timeout_in_ms
      • truncate_request_timeout_in_ms

        public volatile long truncate_request_timeout_in_ms
      • streaming_connections_per_host

        public java.lang.Integer streaming_connections_per_host
      • streaming_keep_alive_period_in_secs

        public java.lang.Integer streaming_keep_alive_period_in_secs
      • cross_node_timeout

        public boolean cross_node_timeout
      • slow_query_log_timeout_in_ms

        public volatile long slow_query_log_timeout_in_ms
      • phi_convict_threshold

        public volatile double phi_convict_threshold
      • concurrent_reads

        public int concurrent_reads
      • concurrent_writes

        public int concurrent_writes
      • concurrent_counter_writes

        public int concurrent_counter_writes
      • concurrent_materialized_view_writes

        public int concurrent_materialized_view_writes
      • concurrent_replicates

        @Deprecated
        public java.lang.Integer concurrent_replicates
        Deprecated.
      • memtable_flush_writers

        public int memtable_flush_writers
      • memtable_heap_space_in_mb

        public java.lang.Integer memtable_heap_space_in_mb
      • memtable_offheap_space_in_mb

        public java.lang.Integer memtable_offheap_space_in_mb
      • memtable_cleanup_threshold

        public java.lang.Float memtable_cleanup_threshold
      • repair_session_max_tree_depth

        @Deprecated
        public volatile java.lang.Integer repair_session_max_tree_depth
        Deprecated.
      • repair_session_space_in_mb

        public volatile java.lang.Integer repair_session_space_in_mb
      • use_offheap_merkle_trees

        public volatile boolean use_offheap_merkle_trees
      • storage_port

        public int storage_port
      • ssl_storage_port

        public int ssl_storage_port
      • listen_address

        public java.lang.String listen_address
      • listen_interface

        public java.lang.String listen_interface
      • listen_interface_prefer_ipv6

        public boolean listen_interface_prefer_ipv6
      • broadcast_address

        public java.lang.String broadcast_address
      • listen_on_broadcast_address

        public boolean listen_on_broadcast_address
      • internode_authenticator

        public java.lang.String internode_authenticator
      • rpc_address

        public java.lang.String rpc_address
      • rpc_interface

        public java.lang.String rpc_interface
      • rpc_interface_prefer_ipv6

        public boolean rpc_interface_prefer_ipv6
      • broadcast_rpc_address

        public java.lang.String broadcast_rpc_address
      • rpc_keepalive

        public boolean rpc_keepalive
      • internode_max_message_size_in_bytes

        public java.lang.Integer internode_max_message_size_in_bytes
      • internode_socket_send_buffer_size_in_bytes

        public int internode_socket_send_buffer_size_in_bytes
      • internode_socket_receive_buffer_size_in_bytes

        public int internode_socket_receive_buffer_size_in_bytes
      • internode_application_send_queue_capacity_in_bytes

        public int internode_application_send_queue_capacity_in_bytes
      • internode_application_send_queue_reserve_endpoint_capacity_in_bytes

        public int internode_application_send_queue_reserve_endpoint_capacity_in_bytes
      • internode_application_send_queue_reserve_global_capacity_in_bytes

        public int internode_application_send_queue_reserve_global_capacity_in_bytes
      • internode_application_receive_queue_capacity_in_bytes

        public int internode_application_receive_queue_capacity_in_bytes
      • internode_application_receive_queue_reserve_endpoint_capacity_in_bytes

        public int internode_application_receive_queue_reserve_endpoint_capacity_in_bytes
      • internode_application_receive_queue_reserve_global_capacity_in_bytes

        public int internode_application_receive_queue_reserve_global_capacity_in_bytes
      • internode_tcp_connect_timeout_in_ms

        public volatile int internode_tcp_connect_timeout_in_ms
      • internode_tcp_user_timeout_in_ms

        public volatile int internode_tcp_user_timeout_in_ms
      • internode_streaming_tcp_user_timeout_in_ms

        public volatile int internode_streaming_tcp_user_timeout_in_ms
      • start_native_transport

        public boolean start_native_transport
      • native_transport_port

        public int native_transport_port
      • native_transport_port_ssl

        public java.lang.Integer native_transport_port_ssl
      • native_transport_max_threads

        public int native_transport_max_threads
      • native_transport_max_frame_size_in_mb

        public int native_transport_max_frame_size_in_mb
      • native_transport_max_concurrent_connections

        public volatile long native_transport_max_concurrent_connections
      • native_transport_max_concurrent_connections_per_ip

        public volatile long native_transport_max_concurrent_connections_per_ip
      • native_transport_flush_in_batches_legacy

        public boolean native_transport_flush_in_batches_legacy
      • native_transport_allow_older_protocols

        public volatile boolean native_transport_allow_older_protocols
      • native_transport_max_concurrent_requests_in_bytes_per_ip

        public volatile long native_transport_max_concurrent_requests_in_bytes_per_ip
      • native_transport_max_concurrent_requests_in_bytes

        public volatile long native_transport_max_concurrent_requests_in_bytes
      • native_transport_receive_queue_capacity_in_bytes

        public int native_transport_receive_queue_capacity_in_bytes
      • native_transport_max_negotiable_protocol_version

        @Deprecated
        public java.lang.Integer native_transport_max_negotiable_protocol_version
        Deprecated.
      • max_value_size_in_mb

        public int max_value_size_in_mb
        Max size of values in SSTables, in MegaBytes. Default is the same as the native protocol frame limit: 256Mb. See AbstractType for how it is used.
      • snapshot_before_compaction

        public boolean snapshot_before_compaction
      • auto_snapshot

        public boolean auto_snapshot
      • snapshot_links_per_second

        public volatile long snapshot_links_per_second
      • column_index_size_in_kb

        public int column_index_size_in_kb
      • column_index_cache_size_in_kb

        public volatile int column_index_cache_size_in_kb
      • batch_size_warn_threshold_in_kb

        public volatile int batch_size_warn_threshold_in_kb
      • batch_size_fail_threshold_in_kb

        public volatile int batch_size_fail_threshold_in_kb
      • unlogged_batch_across_partitions_warn_threshold

        public java.lang.Integer unlogged_batch_across_partitions_warn_threshold
      • concurrent_compactors

        public volatile java.lang.Integer concurrent_compactors
      • compaction_throughput_mb_per_sec

        public volatile int compaction_throughput_mb_per_sec
      • compaction_large_partition_warning_threshold_mb

        public volatile int compaction_large_partition_warning_threshold_mb
      • min_free_space_per_drive_in_mb

        public int min_free_space_per_drive_in_mb
      • concurrent_materialized_view_builders

        public volatile int concurrent_materialized_view_builders
      • reject_repair_compaction_threshold

        public volatile int reject_repair_compaction_threshold
      • max_streaming_retries

        @Deprecated
        public int max_streaming_retries
        Deprecated.
        retry support removed on CASSANDRA-10992
      • stream_throughput_outbound_megabits_per_sec

        public volatile int stream_throughput_outbound_megabits_per_sec
      • inter_dc_stream_throughput_outbound_megabits_per_sec

        public volatile int inter_dc_stream_throughput_outbound_megabits_per_sec
      • data_file_directories

        public java.lang.String[] data_file_directories
      • local_system_data_file_directory

        public java.lang.String local_system_data_file_directory
        The directory to use for storing the system keyspaces data. If unspecified the data will be stored in the first of the data_file_directories.
      • saved_caches_directory

        public java.lang.String saved_caches_directory
      • commitlog_directory

        public java.lang.String commitlog_directory
      • commitlog_total_space_in_mb

        public java.lang.Integer commitlog_total_space_in_mb
      • commitlog_sync_batch_window_in_ms

        public double commitlog_sync_batch_window_in_ms
        Deprecated.
        since 4.0 This value was near useless, and we're not using it anymore
      • commitlog_sync_group_window_in_ms

        public double commitlog_sync_group_window_in_ms
      • commitlog_sync_period_in_ms

        public int commitlog_sync_period_in_ms
      • commitlog_segment_size_in_mb

        public int commitlog_segment_size_in_mb
      • commitlog_max_compression_buffers_in_pool

        public int commitlog_max_compression_buffers_in_pool
      • periodic_commitlog_sync_lag_block_in_ms

        public java.lang.Integer periodic_commitlog_sync_lag_block_in_ms
      • max_mutation_size_in_kb

        public java.lang.Integer max_mutation_size_in_kb
      • cdc_enabled

        public boolean cdc_enabled
      • cdc_raw_directory

        public java.lang.String cdc_raw_directory
      • cdc_total_space_in_mb

        public int cdc_total_space_in_mb
      • cdc_free_space_check_interval_ms

        public int cdc_free_space_check_interval_ms
      • commitlog_periodic_queue_size

        @Deprecated
        public int commitlog_periodic_queue_size
        Deprecated.
      • endpoint_snitch

        public java.lang.String endpoint_snitch
      • dynamic_snitch

        public boolean dynamic_snitch
      • dynamic_snitch_update_interval_in_ms

        public int dynamic_snitch_update_interval_in_ms
      • dynamic_snitch_reset_interval_in_ms

        public int dynamic_snitch_reset_interval_in_ms
      • dynamic_snitch_badness_threshold

        public double dynamic_snitch_badness_threshold
      • hinted_handoff_throttle_in_kb

        public int hinted_handoff_throttle_in_kb
      • batchlog_replay_throttle_in_kb

        public int batchlog_replay_throttle_in_kb
      • max_hints_delivery_threads

        public int max_hints_delivery_threads
      • hints_flush_period_in_ms

        public int hints_flush_period_in_ms
      • max_hints_file_size_in_mb

        public int max_hints_file_size_in_mb
      • incremental_backups

        public volatile boolean incremental_backups
      • trickle_fsync

        public boolean trickle_fsync
      • trickle_fsync_interval_in_kb

        public int trickle_fsync_interval_in_kb
      • sstable_preemptive_open_interval_in_mb

        public volatile int sstable_preemptive_open_interval_in_mb
      • key_cache_migrate_during_compaction

        public volatile boolean key_cache_migrate_during_compaction
      • key_cache_size_in_mb

        public java.lang.Long key_cache_size_in_mb
      • key_cache_save_period

        public volatile int key_cache_save_period
      • key_cache_keys_to_save

        public volatile int key_cache_keys_to_save
      • row_cache_class_name

        public java.lang.String row_cache_class_name
      • row_cache_size_in_mb

        public long row_cache_size_in_mb
      • row_cache_save_period

        public volatile int row_cache_save_period
      • row_cache_keys_to_save

        public volatile int row_cache_keys_to_save
      • counter_cache_size_in_mb

        public java.lang.Long counter_cache_size_in_mb
      • counter_cache_save_period

        public volatile int counter_cache_save_period
      • counter_cache_keys_to_save

        public volatile int counter_cache_keys_to_save
      • cache_load_timeout_seconds

        public int cache_load_timeout_seconds
      • networking_cache_size_in_mb

        public java.lang.Integer networking_cache_size_in_mb
      • file_cache_size_in_mb

        public java.lang.Integer file_cache_size_in_mb
      • file_cache_enabled

        public boolean file_cache_enabled
      • file_cache_round_up

        public java.lang.Boolean file_cache_round_up
        Because of the current BufferPool slab sizes of 64 kb, we store in the file cache buffers that divide 64 kb, so we need to round the buffer sizes to powers of two. This boolean controls weather they are rounded up or down. Set it to true to round up to the next power of two, set it to false to round down to the previous power of two. Note that buffer sizes are already rounded to 4 kb and capped between 4 kb minimum and 64 kb maximum by the Config.DiskOptimizationStrategy. By default, this boolean is set to round down when disk_optimization_strategy is ssd, and to round up when it is spinning.
      • buffer_pool_use_heap_if_exhausted

        @Deprecated
        public boolean buffer_pool_use_heap_if_exhausted
        Deprecated.
      • disk_optimization_estimate_percentile

        public double disk_optimization_estimate_percentile
      • disk_optimization_page_cross_chance

        public double disk_optimization_page_cross_chance
      • inter_dc_tcp_nodelay

        public boolean inter_dc_tcp_nodelay
      • tombstone_warn_threshold

        public volatile int tombstone_warn_threshold
      • tombstone_failure_threshold

        public volatile int tombstone_failure_threshold
      • index_summary_capacity_in_mb

        public volatile java.lang.Long index_summary_capacity_in_mb
      • index_summary_resize_interval_in_minutes

        public volatile int index_summary_resize_interval_in_minutes
      • gc_log_threshold_in_ms

        public volatile int gc_log_threshold_in_ms
      • gc_warn_threshold_in_ms

        public volatile int gc_warn_threshold_in_ms
      • tracetype_query_ttl

        public int tracetype_query_ttl
      • tracetype_repair_ttl

        public int tracetype_repair_ttl
      • ideal_consistency_level

        public volatile ConsistencyLevel ideal_consistency_level
        Maintain statistics on whether writes achieve the ideal consistency level before expiring and becoming hints
      • otc_coalescing_strategy

        @Deprecated
        public java.lang.String otc_coalescing_strategy
        Deprecated.
      • otc_coalescing_window_us_default

        @Deprecated
        public static final int otc_coalescing_window_us_default
        Deprecated.
        See Also:
        Constant Field Values
      • otc_coalescing_window_us

        @Deprecated
        public int otc_coalescing_window_us
        Deprecated.
      • otc_coalescing_enough_coalesced_messages

        @Deprecated
        public int otc_coalescing_enough_coalesced_messages
        Deprecated.
      • otc_backlog_expiration_interval_ms_default

        @Deprecated
        public static final int otc_backlog_expiration_interval_ms_default
        Deprecated.
        See Also:
        Constant Field Values
      • otc_backlog_expiration_interval_ms

        @Deprecated
        public volatile int otc_backlog_expiration_interval_ms
        Deprecated.
      • windows_timer_interval

        public int windows_timer_interval
      • prepared_statements_cache_size_mb

        public java.lang.Long prepared_statements_cache_size_mb
        Size of the CQL prepared statements cache in MB. Defaults to 1/256th of the heap size or 10MB, whichever is greater.
      • enable_user_defined_functions

        public boolean enable_user_defined_functions
      • enable_scripted_user_defined_functions

        public boolean enable_scripted_user_defined_functions
      • enable_materialized_views

        public boolean enable_materialized_views
      • enable_transient_replication

        public boolean enable_transient_replication
      • enable_sasi_indexes

        public boolean enable_sasi_indexes
      • enable_drop_compact_storage

        public volatile boolean enable_drop_compact_storage
      • enable_user_defined_functions_threads

        public boolean enable_user_defined_functions_threads
        Optionally disable asynchronous UDF execution. Disabling asynchronous UDF execution also implicitly disables the security-manager! By default, async UDF execution is enabled to be able to detect UDFs that run too long / forever and be able to fail fast - i.e. stop the Cassandra daemon, which is currently the only appropriate approach to "tell" a user that there's something really wrong with the UDF. When you disable async UDF execution, users MUST pay attention to read-timeouts since these may indicate UDFs that run too long or forever - and this can destabilize the cluster. This requires allow_insecure_udfs to be true
      • allow_insecure_udfs

        public boolean allow_insecure_udfs
        Set this to true to allow running insecure UDFs.
      • allow_extra_insecure_udfs

        public boolean allow_extra_insecure_udfs
        Set this to allow UDFs accessing java.lang.System.* methods, which basically allows UDFs to execute any arbitrary code on the system.
      • user_defined_function_warn_timeout

        public long user_defined_function_warn_timeout
        Time in milliseconds after a warning will be emitted to the log and to the client that a UDF runs too long. (Only valid, if enable_user_defined_functions_threads==true)
      • user_defined_function_fail_timeout

        public long user_defined_function_fail_timeout
        Time in milliseconds after a fatal UDF run-time situation is detected and action according to user_function_timeout_policy will take place. (Only valid, if enable_user_defined_functions_threads==true)
      • user_function_timeout_policy

        public Config.UserFunctionTimeoutPolicy user_function_timeout_policy
        Defines what to do when a UDF ran longer than user_defined_function_fail_timeout. Possible options are: - 'die' - i.e. it is able to emit a warning to the client before the Cassandra Daemon will shut down. - 'die_immediate' - shut down C* daemon immediately (effectively prevent the chance that the client will receive a warning). - 'ignore' - just log - the most dangerous option. (Only valid, if enable_user_defined_functions_threads==true)
      • back_pressure_enabled

        @Deprecated
        public volatile boolean back_pressure_enabled
        Deprecated.
      • back_pressure_strategy

        @Deprecated
        public volatile ParameterizedClass back_pressure_strategy
        Deprecated.
      • concurrent_validations

        public volatile int concurrent_validations
      • repair_command_pool_size

        public int repair_command_pool_size
      • block_for_peers_timeout_in_secs

        public int block_for_peers_timeout_in_secs
        When a node first starts up it intially considers all other peers as DOWN and is disconnected from all of them. To be useful as a coordinator (and not introduce latency penalties on restart) this node must have successfully opened all three internode TCP connections (gossip, small, and large messages) before advertising to clients. Due to this, by default, Casssandra will prime these internode TCP connections and wait for all but a single node to be DOWN/disconnected in the local datacenter before offering itself as a coordinator, subject to a timeout. See CASSANDRA-13993 and CASSANDRA-14297 for more details. We provide two tunables to control this behavior as some users may want to block until all datacenters are available (global QUORUM/EACH_QUORUM), some users may not want to block at all (clients that already work around the problem), and some users may want to prime the connections but not delay startup. block_for_peers_timeout_in_secs: controls how long this node will wait to connect to peers. To completely disable any startup connectivity checks set this to -1. To trigger the internode connections but immediately continue startup, set this to to 0. The default is 10 seconds. block_for_peers_in_remote_dcs: controls if this node will consider remote datacenters to wait for. The default is to _not_ wait on remote datacenters.
      • block_for_peers_in_remote_dcs

        public boolean block_for_peers_in_remote_dcs
      • automatic_sstable_upgrade

        public volatile boolean automatic_sstable_upgrade
      • max_concurrent_automatic_sstable_upgrades

        public volatile int max_concurrent_automatic_sstable_upgrades
      • stream_entire_sstables

        public boolean stream_entire_sstables
      • audit_logging_options

        public volatile AuditLogOptions audit_logging_options
      • diagnostic_events_enabled

        public volatile boolean diagnostic_events_enabled
      • repaired_data_tracking_for_range_reads_enabled

        public volatile boolean repaired_data_tracking_for_range_reads_enabled
        flags for enabling tracking repaired state of data during reads separate flags for range & single partition reads as single partition reads are only tracked when CL > 1 and a digest mismatch occurs. Currently, range queries don't use digests so if enabled for range reads, all such reads will include repaired data tracking. As this adds some overhead, operators may wish to disable it whilst still enabling it for partition reads
      • repaired_data_tracking_for_partition_reads_enabled

        public volatile boolean repaired_data_tracking_for_partition_reads_enabled
      • report_unconfirmed_repaired_data_mismatches

        public volatile boolean report_unconfirmed_repaired_data_mismatches
      • snapshot_on_repaired_data_mismatch

        public volatile boolean snapshot_on_repaired_data_mismatch
      • validation_preview_purge_head_start_in_sec

        public volatile int validation_preview_purge_head_start_in_sec
        number of seconds to set nowInSec into the future when performing validation previews against repaired data this (attempts) to prevent a race where validations on different machines are started on different sides of a tombstone being compacted away
      • initial_range_tombstone_list_allocation_size

        public volatile int initial_range_tombstone_list_allocation_size
        The intial capacity for creating RangeTombstoneList.
      • range_tombstone_list_growth_factor

        public volatile double range_tombstone_list_growth_factor
        The growth factor to enlarge a RangeTombstoneList.
      • snapshot_on_duplicate_row_detection

        public volatile boolean snapshot_on_duplicate_row_detection
        If true, when rows with duplicate clustering keys are detected during a read or compaction a snapshot will be taken. In the read case, each a snapshot request will be issued to each replica involved in the query, for compaction the snapshot will be created locally. These are limited at the replica level so that only a single snapshot per-day can be taken via this method. This requires check_for_duplicate_rows_during_reads and/or check_for_duplicate_rows_during_compaction below to be enabled
      • check_for_duplicate_rows_during_reads

        public volatile boolean check_for_duplicate_rows_during_reads
        If these are enabled duplicate keys will get logged, and if snapshot_on_duplicate_row_detection is enabled, the table will get snapshotted for offline investigation
      • check_for_duplicate_rows_during_compaction

        public volatile boolean check_for_duplicate_rows_during_compaction
      • autocompaction_on_startup_enabled

        public boolean autocompaction_on_startup_enabled
      • auto_optimise_inc_repair_streams

        public volatile boolean auto_optimise_inc_repair_streams
      • auto_optimise_full_repair_streams

        public volatile boolean auto_optimise_full_repair_streams
      • auto_optimise_preview_repair_streams

        public volatile boolean auto_optimise_preview_repair_streams
      • table_count_warn_threshold

        public volatile int table_count_warn_threshold
      • keyspace_count_warn_threshold

        public volatile int keyspace_count_warn_threshold
      • consecutive_message_errors_threshold

        public volatile int consecutive_message_errors_threshold
    • Constructor Detail

      • Config

        public Config()
    • Method Detail

      • setClientMode

        @Deprecated
        public static void setClientMode​(boolean clientMode)
        Client mode means that the process is a pure client, that uses C* code base but does not read or write local C* database files.
      • getOverrideLoadConfig

        public static java.util.function.Supplier<Config> getOverrideLoadConfig()
      • setOverrideLoadConfig

        public static void setOverrideLoadConfig​(java.util.function.Supplier<Config> loadConfig)
      • log

        public static void log​(Config config)