Tunable Configuration Properties

Tunable properties are cluster properties that are specifically designed for tuning a cluster. For information on how to edit tunable properties, refer to Configuring Cluster Properties.

The following table lists the available tunable properties:

Property Description

abort_index_segment_size

Capacity (in number of txns) of an abort index segment.

Default: 50000

abort_timed_out_transactions_interval_ms

How often to look for the inactive transactions and abort them.

Default: 60000

alter_topic_cfg_timeout_ms

Time to wait for entries replication in controller log when executing alter configuration request.

Default: 5000

append_chunk_size

Size of direct write operations to disk.

Default: 16384 (16KB)

cloud_storage_cache_check_interval

Timeout to check if cache eviction should be triggered.

Default: 30000

cloud_storage_enable_remote_read

Enable remote read for all topics.

Default: false

cloud_storage_enable_remote_write

Enable remote write for all topics.

Default: false

cloud_storage_initial_backoff_ms

Initial backoff time for exponential backoff algorithm (ms).

Default: 100

cloud_storage_manifest_upload_timeout_ms

Manifest upload timeout (ms).

Default: 10000

cloud_storage_max_connection_idle_time_ms

Max https connection idle time (ms).

Default: 5000

cloud_storage_reconciliation_interval_ms

Interval at which the archival service runs reconciliation (ms).

Default: 10000

cloud_storage_segment_max_upload_interval_sec

Time that segment can be kept locally without uploading it to the remote storage (sec).

Default: Null

cloud_storage_segment_upload_timeout_ms

Log segment upload timeout (ms).

Default: 30000

cloud_storage_upload_ctrl_d_coeff

Derivative coefficient for upload PID controller.

Default: 0.0

cloud_storage_upload_ctrl_max_shares

Maximum number of I/O and CPU shares that archival upload can use.

Default: 1000

cloud_storage_upload_ctrl_min_shares

Minimum number of I/O and CPU shares that archival upload can use.

Default: 100

cloud_storage_upload_ctrl_p_coeff

Proportional coefficient for upload PID controller.

Default: -2.0

cloud_storage_upload_ctrl_update_interval_ms

No description.

Default: 60000

compacted_log_segment_size

How large in bytes each compacted log segment should be (default 256 MB).

Default: 268435456 (256 MB)
Minimum = 1048576 (1 MB)

compaction_ctrl_backlog_size

Target backlog size for compaction controller. If not set, compaction target that the compaction backlog would be equal to.

Default: Null

compaction_ctrl_d_coeff

Derivative coefficient for compaction PID controller.

Default: 0.2

compaction_ctrl_i_coeff

Integral coefficient for compaction PID controller.

Default: 0.0

compaction_ctrl_max_shares

Maximum number of IO and CPU shares that compaction process can use.

Default: 1000

compaction_ctrl_min_shares

Minimum number of IO and CPU shares that compaction process can use.

Default: 10

compaction_ctrl_p_coeff

Proportional coefficient for compaction PID controller. This has to be negative since compaction backlog should decrease when number of compaction shares increases.

Default: -12.5

compaction_ctrl_update_interval_ms

No description.

Default: 30000

controller_backend_housekeeping_interval_ms

Interval between iterations of controller backend housekeeping loop.

Default: 1000

create_topic_timeout_ms

Timeout (ms) to wait for new topic creation.

Default: 2000

default_num_windows

Default number of quota tracking windows.

Default: 10
Minimum = 1

default_window_sec

Default quota tracking window size in milliseconds.

Default: 1000

developer_mode

Skips most of the checks performed at startup are not recommended for production use.

Default: false

disable_batch_cache

Disable batch cache in log manager.

Default: false

election_timeout_ms

Election timeout expressed in milliseconds.

Default: 1500

enable_pid_file

Enable pid file. You probably don’t want to change this.

Default: true

features_auto_enable

Whether new feature flags may auto-activate after upgrades (true) or must wait for manual activation via the admin API (false).

Default: true

fetch_reads_debounce_timeout

Time to wait for next read in fetch request when requested min bytes wasn’t reached.

Default: 1

fetch_session_eviction_timeout_ms

Minimum time before which unused session will get evicted from sessions. Maximum time after which inactive session will be deleted is two time given configuration value cache.

Default: 60000

full_raft_configuration_recovery_pattern

Recover raft configuration on start for NTPs matching pattern.

Default: Null

group_initial_rebalance_delay

Extra delay (ms) added to rebalance phase to wait for new members.

Default: 300

group_new_member_join_timeout

Timeout for new member joins.

Default: 30000

group_topic_partitions

Number of partitions in the internal group membership topic.

Default: 1

health_manager_tick_interval

How often the health manager runs.

Default: 180000

health_monitor_max_metadata_age

Max age of metadata cached in the health monitor of non controller node.

Default: 10000

health_monitor_tick_interval

How often health monitor refreshes cluster state.

Default: 10000

id_allocator_batch_size

Id allocator allocates messages in batches (each batch is a one log record) and then serves requests from memory without touching the log until the batch is exhausted.

Default: 1000

id_allocator_log_capacity

Capacity of the id_allocator log in number of messages. Once it reached id_allocator_stm should compact the log.

Default: 100

join_retry_timeout_ms

Time between cluster join retries in milliseconds.

Default: 5000

kafka_max_bytes_per_fetch

Limit fetch responses to this many bytes even if total of partition bytes limits is higher.

Default: 67108864 (64 MB)

kafka_qdc_depth_alpha

Smoothing factor for kafka queue depth control depth tracking.

Default: 0.8

kafka_qdc_depth_update_ms

Update frequency for kafka queue depth control.

Default: 7000

kafka_qdc_idle_depth

Queue depth when idleness is detected in kafka queue depth control.

Default: 10

kafka_qdc_latency_alpha

Smoothing parameter for kafka queue depth control latency tracking.

Default: 0.002

kafka_qdc_max_depth

Maximum queue depth used in kafka queue depth control.

Default: 100

kafka_qdc_min_depth

Minimum queue depth used in kafka queue depth control.

Default: 1

kafka_qdc_window_count

Number of windows used in kafka queue depth control latency tracking.

Default: 12

kafka_qdc_window_size_ms

Window size for kafka queue depth control latency tracking.

Default: 1500

kvstore_flush_interval

Key-value store flush interval (ms).

Default: 10

kvstore_max_segment_size

Key-value maximum segment size (bytes).

Default: 16777216 (16 MB)

leader_balancer_idle_timeout

Leadership rebalancing idle timeout.

Default: 120000

leader_balancer_mute_timeout

Leadership rebalancing mute timeout.

Default: 300000

leader_balancer_mute_timeout

Leadership rebalancing node mute timeout.

Default: 20000

log_segment_size

How large in bytes should each log segment be (default 1 GB).

Default: 1048576000 (1 GB)
Minimum = 1048576 (1 MB)

max_compacted_log_segment_size

Max compacted segment size after consolidation.

Default: 5242880000 (5 GB)

max_kafka_throttle_delay_ms

Fail-safe maximum throttle delay on kafka requests.

Default: 60000

members_backend_retry_ms

Time between members backend reconciliation loop retries.

Default: 5000

metadata_dissemination_interval_ms

Interval for metadata dissemination batching.

Default: 3000

metadata_dissemination_retries

Number of attempts to look up a topic’s metadata like shard before failing a request.

Default: 30

metadata_dissemination_retry_delay_ms

Delay before retrying a topic lookup in a shard or other meta tables.

Default: 0500

metadata_status_wait_timeout_ms

Maximum time to wait in metadata request for cluster health to be refreshed.

Default: 2000

metrics_reporter_report_interval

Cluster metrics reporter report interval.

Default: 864000000

metrics_reporter_tick_interval

Cluster metrics reporter tick interval.

Default: 60000

node_management_operation_timeout_ms

Timeout for executing node management operations.

Default: 5000

quota_manager_gc_sec

Quota manager GC frequency in milliseconds.

Default: 30000

raft_heartbeat_disconnect_failures

After how many failed heartbeats to forcibly close an unresponsive TCP connection. Set to 0 to disable force disconnection.

Default: 3

raft_heartbeat_interval_ms

The interval in ms between raft leader heartbeats.

Default: 150

raft_heartbeat_timeout_ms

Raft heartbeat RPC timeout.

Default: 3000
Minimum = milliseconds(1)

raft_io_timeout_ms

Raft I/O timeout.

Default: 10000

raft_max_concurrent_append_requests_per_follower

Maximum number of concurrent append entries requests sent by leader to one follower.

Default: 16

raft_max_recovery_memory

Maximum memory that can be used for reads in the raft recovery process.

Default: 15% of total memory
Minimum = 33554432 (32 MB)

raft_recovery_default_read_size

Default size of read issued during raft follower recovery.

Default: 524288 (512 KB)
Minimum = 128
Maximum = 5242880 (5 MB)

raft_replicate_batch_window_size

Maximum size of requests cached for replication.

Default: 1048576 (1 MB)

raft_smp_max_non_local_requests

Maximum number of x-core requests pending in Raft seastar::smp group. (for more details look at seastar::smp_service_group documentation).

Default: The maximum number of x-core pending in Raft relies on the total number of cores that your environment is executing.

raft_timeout_now_timeout_ms

Timeout for a timeout now request.

Default: 1000

raft_transfer_leader_recovery_timeout_ms

Timeout waiting for follower recovery when transferring leadership.

Default: 10000

readers_cache_eviction_timeout_ms

Duration after which inactive readers will be evicted from cache.

Default: 30000

reclaim_batch_cache_min_free

Free memory limit that will be kept by batch cache background reclaimer.

Default: 67108864 (64 MB)

reclaim_growth_window

Length of time in which reclaim sizes grow.

Default: 3000

reclaim_max_size

Maximum batch cache reclaim size.

Default: 4194304 (4 MB)

reclaim_min_size

Minimum batch cache reclaim size.

Default: 131072 (128 KB)

reclaim_stable_window

Length of time above which growth is reset.

Default: 10000

recovery_append_timeout_ms

Timeout for append entries requests issued while updating stale follower.

Default: 5000

release_cache_on_segment_roll

Free cache when segments roll.

Default: false

replicate_append_timeout_ms

Timeout for append entries requests issued while replicating entries.

Default: 3000

segment_appender_flush_timeout_ms

Maximum delay until buffered data is written.

Default: 1000

segment_fallocation_step

Size for segments fallocation.

Default: 33554432 (32 MB)

storage_read_buffer_size

Size of each read buffer (one per in-flight read, per log segment).

Default: 131072 (128 KB)

storage_read_readahead_count

How many additional reads to issue ahead of current read location.

Default: 10

storage_space_alert_free_threshold_bytes

Threshold of minimim bytes free space before setting storage space alert.

Default: 1048576000 (1 GB)
Minimum = 1048576000 ( 1 GB)

storage_space_alert_free_threshold_percent

Threshold of minimim percent free space before setting storage space alert.

Default: 5
Minimum = 1
Maximum = 50

topic_fds_per_partition

Required file handles per partition when creating topics.

Default: 10
Minimum = 1
Maximum = 1000

topic_memory_per_partition

Required memory per partition when creating topics.

Default: 1048576 (1 MB)
Minimum = 1
Maximum = 104857600 (100 MB)

transaction_coordinator_log_segment_size

How large in bytes should each log segment be (default 1 GB).

Default: 1048576000 (1 GB)

wait_for_leader_timeout_ms

Timeout (ms) to wait for leadership in metadata cache.

Default: 5000

zstd_decompress_workspace_bytes

Size of the zstd decompression workspace.

Default: 8388608 (8 MB)

Suggested reading

  • Benchmark of Redpanda and Apache Kafka article

  • Fast distributed transactions with Redpanda article