This is an automated email from the ASF dual-hosted git repository. clohfink pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/cassandra.git
The following commit(s) were added to refs/heads/trunk by this push: new 58d1cc9b1e Increasing default for auto_repair.sstable_upper_threshold considering large Cassandra tables 58d1cc9b1e is described below commit 58d1cc9b1e23c651513390c4ab50da6f5ae104d8 Author: jaydeepkumar1984 <chovatia.jayd...@gmail.com> AuthorDate: Thu Apr 24 12:04:22 2025 -0700 Increasing default for auto_repair.sstable_upper_threshold considering large Cassandra tables --- CHANGES.txt | 4 ++++ conf/cassandra.yaml | 2 +- conf/cassandra_latest.yaml | 2 +- doc/modules/cassandra/pages/managing/operating/auto_repair.adoc | 6 +++--- .../org/apache/cassandra/repair/autorepair/AutoRepairConfig.java | 2 +- .../apache/cassandra/repair/autorepair/AutoRepairConfigTest.java | 4 ++-- 6 files changed, 12 insertions(+), 8 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index d2292e1f9b..b07586d866 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,9 +1,12 @@ 5.1 + * Increasing default for auto_repair.sstable_upper_threshold considering large Cassandra tables & revert three lines removed from CHANGES.txt due to a merge mistake (CASSANDRA-20586) * Fix token restrictions with MIN_TOKEN (CASSANDRO-20557) * Upgrade logback version to 1.5.18 and slf4j dependencies to 2.0.17 (CASSANDRA-20429) * Switch memtable-related off-heap objects to Native Endian and Memory to Little Endian (CASSANDRA-20190) * Change SSTableSimpleScanner to use SSTableReader#openDataReaderForScan (CASSANDRA-20538) * Automated Repair Inside Cassandra [CEP-37] (CASSANDRA-19918) + * Implement appender of slow queries to system_views.slow_queries table (CASSANDRA-13001) + * Add autocompletion in CQLSH for built-in functions (CASSANDRA-19631) * Grant permission on keyspaces system_views and system_virtual_schema not possible (CASSANDRA-20171) * General Purpose Transactions (Accord) [CEP-15] (CASSANDRA-17092) * Improve performance when getting writePlacementsAllSettled from ClusterMetadata (CASSANDRA-20526) @@ -243,6 +246,7 @@ Merged from 4.1: * Enforce CQL message size limit on multiframe messages (CASSANDRA-20052) * Fix race condition in DecayingEstimatedHistogramReservoir during rescale (CASSANDRA-19365) Merged from 4.0: + * Updating a column with a new TTL but same expiration time is non-deterministic and causes repair mismatches. (CASSANDRA-20561) * Avoid computing prepared statement size for unprepared batches (CASSANDRA-20556) * Fix Dropwizard Meter causes timeouts when infrequently used (CASSANDRA-19332) * Update OWASP dependency checker to version 12.1.0 (CASSANDRA-20501) diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index 88b0c72718..a7efe5735a 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -2810,7 +2810,7 @@ storage_compatibility_mode: NONE # force_repair_new_node: false # # Threshold to skip repairing tables with too many SSTables. Defaults to 10,000 SSTables to avoid penalizing good # # tables. -# sstable_upper_threshold: 10000 +# sstable_upper_threshold: 50000 # # Maximum time allowed for repairing one table on a given node. If exceeded, the repair proceeds to the # # next table. # table_max_repair_time: 6h diff --git a/conf/cassandra_latest.yaml b/conf/cassandra_latest.yaml index 6dfc89a975..69b4c647f7 100644 --- a/conf/cassandra_latest.yaml +++ b/conf/cassandra_latest.yaml @@ -2499,7 +2499,7 @@ storage_compatibility_mode: NONE # force_repair_new_node: false # # Threshold to skip repairing tables with too many SSTables. Defaults to 10,000 SSTables to avoid penalizing good # # tables. -# sstable_upper_threshold: 10000 +# sstable_upper_threshold: 50000 # # Maximum time allowed for repairing one table on a given node. If exceeded, the repair proceeds to the # # next table. # table_max_repair_time: 6h diff --git a/doc/modules/cassandra/pages/managing/operating/auto_repair.adoc b/doc/modules/cassandra/pages/managing/operating/auto_repair.adoc index 3928d0afcc..d5701895d7 100644 --- a/doc/modules/cassandra/pages/managing/operating/auto_repair.adoc +++ b/doc/modules/cassandra/pages/managing/operating/auto_repair.adoc @@ -207,7 +207,7 @@ node. Defaults to true and is only evaluated when allow_parallel_replica_repair immediately after a restart. | repair_session_timeout | 3h | Timeout for retrying stuck repair sessions. | force_repair_new_node | false | Force immediate repair on new nodes after they join the ring. -| sstable_upper_threshold | 10000 | Threshold to skip repairing tables with too many SSTables. +| sstable_upper_threshold | 50000 | Threshold to skip repairing tables with too many SSTables. | table_max_repair_time | 6h | Maximum time allowed for repairing one table on a given node. If exceeded, the repair proceeds to the next table. | ignore_dcs | [] | Avoid running repairs in specific data centers. By default, repairs run in all data centers. Specify @@ -365,7 +365,7 @@ configuration for repair_type: full min_repair_interval: 24h repair_by_keyspace: true number_of_repair_threads: 1 - sstable_upper_threshold: 10000 + sstable_upper_threshold: 50000 table_max_repair_time: 6h ignore_dcs: [] repair_primary_token_range_only: true @@ -387,7 +387,7 @@ configuration for repair_type: incremental min_repair_interval: 1h repair_by_keyspace: true number_of_repair_threads: 1 - sstable_upper_threshold: 10000 + sstable_upper_threshold: 50000 table_max_repair_time: 6h ignore_dcs: [] repair_primary_token_range_only: true diff --git a/src/java/org/apache/cassandra/repair/autorepair/AutoRepairConfig.java b/src/java/org/apache/cassandra/repair/autorepair/AutoRepairConfig.java index 9d842888d5..045e6d21a8 100644 --- a/src/java/org/apache/cassandra/repair/autorepair/AutoRepairConfig.java +++ b/src/java/org/apache/cassandra/repair/autorepair/AutoRepairConfig.java @@ -452,7 +452,7 @@ public class AutoRepairConfig implements Serializable opts.parallel_repair_percentage = 3; opts.allow_parallel_replica_repair = false; opts.allow_parallel_replica_repair_across_schedules = true; - opts.sstable_upper_threshold = 10000; + opts.sstable_upper_threshold = 50000; opts.ignore_dcs = new HashSet<>(); opts.repair_primary_token_range_only = true; opts.force_repair_new_node = false; diff --git a/test/unit/org/apache/cassandra/repair/autorepair/AutoRepairConfigTest.java b/test/unit/org/apache/cassandra/repair/autorepair/AutoRepairConfigTest.java index 0cf51ca408..93ef906a28 100644 --- a/test/unit/org/apache/cassandra/repair/autorepair/AutoRepairConfigTest.java +++ b/test/unit/org/apache/cassandra/repair/autorepair/AutoRepairConfigTest.java @@ -474,7 +474,7 @@ public class AutoRepairConfigTest extends CQLTester assertEquals(Integer.valueOf(1), options.number_of_repair_threads); assertEquals(Integer.valueOf(3), options.parallel_repair_count); assertEquals(Integer.valueOf(3), options.parallel_repair_percentage); - assertEquals(Integer.valueOf(10000), options.sstable_upper_threshold); + assertEquals(Integer.valueOf(50000), options.sstable_upper_threshold); assertEquals(new HashSet<>(), options.ignore_dcs); assertTrue(options.repair_primary_token_range_only); assertFalse(options.force_repair_new_node); @@ -495,7 +495,7 @@ public class AutoRepairConfigTest extends CQLTester assertEquals(Integer.valueOf(1), config.global_settings.number_of_repair_threads); assertEquals(Integer.valueOf(3), config.global_settings.parallel_repair_count); assertEquals(Integer.valueOf(3), config.global_settings.parallel_repair_percentage); - assertEquals(Integer.valueOf(10000), config.global_settings.sstable_upper_threshold); + assertEquals(Integer.valueOf(50000), config.global_settings.sstable_upper_threshold); assertEquals(new HashSet<>(), config.global_settings.ignore_dcs); assertTrue(config.global_settings.repair_primary_token_range_only); assertFalse(config.global_settings.force_repair_new_node); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org