From 77d52be484be0995ee7707c8eebbf04fc412f2b5 Mon Sep 17 00:00:00 2001 From: Ekaterina Dimitrova Date: Wed, 14 Dec 2022 17:22:15 -0500 Subject: [PATCH] Add warning about CCM updateconf configuration parameters loading --- README.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/README.md b/README.md index f6932a37..85a59b5b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,27 @@ CCM (Cassandra Cluster Manager) ==================================================== +WARNING - CCM configuration changes using updateconf does not happen according to CASSANDRA-17379 +------------------------------------------------------------------------------------------------- + +After CASSANDRA-15234, to support the Python upgrade tests CCM updateconf is replacing new key name and value in case +the old key name and value is provided. +For example, if you add to config permissions_validity_in_ms, it will replace permissions_validity in default cassandra.yaml +This was needed to ensure correct overloading as CCM cassandra.yaml has keys sorted lexicographically. +CASSANDRA-17379 was opened to improve the user experience and deprecate the overloading of parameters in cassandra.yaml. +In CASSANDRA 4.1+, by default, we refuse starting Cassandra with a config containing both old and new config keys for the +same parameter. Start Cassandra with +`-Dcassandra.allow_new_old_config_keys=true` to override. For historical reasons duplicate config keys in cassandra.yaml +are allowed by default, start Cassandra with `-Dcassandra.allow_duplicate_config_keys=false` to disallow this. Please note +that key_cache_save_period, row_cache_save_period, counter_cache_save_period will be affected only by +`-Dcassandra.allow_duplicate_config_keys`. Ticket CASSANDRA-17949 was opened to decide the future of CCM updateconf +post CASSANDRA-17379, until then - bear in mind that old replace new parameters' in cassandra.yaml when using updateconf +even if `-Dcassandra.allow_new_old_config_keys=false` is set by default. +TLDR Do not exercise overloading of parameters in CCM if possible. Also, the mentioned changes are done only in master branch. +Probably the best way to handle cassandra 4.1 in CCM at this point is to set `-Dcassandra.allow_new_old_config_keys=false` and +`-Dcassandra.allow_duplicate_config_keys=false` to prohibit any kind of overloading when using CCM master and CCM released +versions + A script/library to create, launch and remove an Apache Cassandra cluster on localhost.