From b6f61e850c8cfb1f0763e0f15721cde8893814b5 Mon Sep 17 00:00:00 2001 From: Ekaterina Dimitrova Date: Wed, 10 Nov 2021 17:14:53 -0500 Subject: [PATCH] Remove unused configuration parameters from cassandra.yaml patch by Ekaterina Dimitrova; reviewed by Berenguer Blasi for CASSANDRA-17132 --- CHANGES.txt | 1 + conf/cassandra.yaml | 39 ------------------- .../org/apache/cassandra/config/Config.java | 18 --------- .../cassandra/config/DatabaseDescriptor.java | 6 --- 4 files changed, 1 insertion(+), 63 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index e2f2be08eb..1a58cdf1ad 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0.2 + * Remove unused configuration parameters from cassandra.yaml (CASSANDRA-17132) * Queries performed with NODE_LOCAL consistency level do not update request metrics (CASSANDRA-17052) * Fix multiple full sources can be select unexpectedly for bootstrap streaming (CASSANDRA-16945) * Fix cassandra.yaml formatting of parameters (CASSANDRA-17131) diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index f8f898be88..ff30792c00 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -947,9 +947,6 @@ request_timeout_in_ms: 10000 # The default is 5 minutes. Increase it or set it to 0 in order to increase the timeout. # internode_streaming_tcp_user_timeout_in_ms: 300000 -# The maximum continuous period a connection may be unwritable in application space -# internode_application_timeout_in_ms: 30000 - # Global, per-endpoint and per-connection limits imposed on messages queued for delivery to other nodes # and waiting to be processed on arrival from other nodes in the cluster. These limits are applied to the on-wire # size of the message being sent or received. @@ -1315,42 +1312,6 @@ compaction_large_partition_warning_threshold_mb: 100 # as corrupted. This should be positive and less than 2048. # max_value_size_in_mb: 256 -# Coalescing Strategies # -# Coalescing multiples messages turns out to significantly boost message processing throughput (think doubling or more). -# On bare metal, the floor for packet processing throughput is high enough that many applications won't notice, but in -# virtualized environments, the point at which an application can be bound by network packet processing can be -# surprisingly low compared to the throughput of task processing that is possible inside a VM. It's not that bare metal -# doesn't benefit from coalescing messages, it's that the number of packets a bare metal network interface can process -# is sufficient for many applications such that no load starvation is experienced even without coalescing. -# There are other benefits to coalescing network messages that are harder to isolate with a simple metric like messages -# per second. By coalescing multiple tasks together, a network thread can process multiple messages for the cost of one -# trip to read from a socket, and all the task submission work can be done at the same time reducing context switching -# and increasing cache friendliness of network message processing. -# See CASSANDRA-8692 for details. - -# Strategy to use for coalescing messages in OutboundTcpConnection. -# Can be fixed, movingaverage, timehorizon, disabled (default). -# You can also specify a subclass of CoalescingStrategies.CoalescingStrategy by name. -# otc_coalescing_strategy: DISABLED - -# How many microseconds to wait for coalescing. For fixed strategy this is the amount of time after the first -# message is received before it will be sent with any accompanying messages. For moving average this is the -# maximum amount of time that will be waited as well as the interval at which messages must arrive on average -# for coalescing to be enabled. -# otc_coalescing_window_us: 200 - -# Do not try to coalesce messages if we already got that many messages. This should be more than 2 and less than 128. -# otc_coalescing_enough_coalesced_messages: 8 - -# How many milliseconds to wait between two expiration runs on the backlog (queue) of the OutboundTcpConnection. -# Expiration is done if messages are piling up in the backlog. Droppable messages are expired to free the memory -# taken by expired messages. The interval should be between 0 and 1000, and in most installations the default value -# will be appropriate. A smaller value could potentially expire messages slightly sooner at the expense of more CPU -# time and queue contention while iterating the backlog of messages. -# An interval of 0 disables any wait time, which is the behavior of former Cassandra versions. -# -# otc_backlog_expiration_interval_ms: 200 - # Track a metric per keyspace indicating whether replication achieved the ideal consistency # level for writes without timing out. This is different from the consistency level requested by # each write which may be lower in order to facilitate availability. diff --git a/src/java/org/apache/cassandra/config/Config.java b/src/java/org/apache/cassandra/config/Config.java index ae3e27e8d5..2bf4e769d6 100644 --- a/src/java/org/apache/cassandra/config/Config.java +++ b/src/java/org/apache/cassandra/config/Config.java @@ -363,24 +363,6 @@ public class Config */ public volatile ConsistencyLevel ideal_consistency_level = null; - /* - * Strategy to use for coalescing messages in {@link OutboundConnections}. - * Can be fixed, movingaverage, timehorizon, disabled. Setting is case and leading/trailing - * whitespace insensitive. You can also specify a subclass of - * {@link org.apache.cassandra.utils.CoalescingStrategies.CoalescingStrategy} by name. - */ - public String otc_coalescing_strategy = "DISABLED"; - - /* - * How many microseconds to wait for coalescing. For fixed strategy this is the amount of time after the first - * message is received before it will be sent with any accompanying messages. For moving average this is the - * maximum amount of time that will be waited as well as the interval at which messages must arrive on average - * for coalescing to be enabled. - */ - public static final int otc_coalescing_window_us_default = 200; - public int otc_coalescing_window_us = otc_coalescing_window_us_default; - public int otc_coalescing_enough_coalesced_messages = 8; - public int windows_timer_interval = 0; /** diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java index 00ef8876c9..bfc9b39152 100644 --- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java +++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java @@ -799,12 +799,6 @@ public class DatabaseDescriptor break; } - if (conf.otc_coalescing_enough_coalesced_messages > 128) - throw new ConfigurationException("otc_coalescing_enough_coalesced_messages must be smaller than 128", false); - - if (conf.otc_coalescing_enough_coalesced_messages <= 0) - throw new ConfigurationException("otc_coalescing_enough_coalesced_messages must be positive", false); - if (conf.server_encryption_options != null) { conf.server_encryption_options.applyConfig();