From c5368c70f2febb2f37682baf8c013ad856d56a46 Mon Sep 17 00:00:00 2001 From: Jonathan Ellis Date: Thu, 17 Oct 2013 23:09:36 +0100 Subject: [PATCH] Add a warning for small LCS sstable size patch by jbellis; reviewed by Jeremiah Jordan for CASSANDRA-6191 --- CHANGES.txt | 6 ++---- build.xml | 3 +++ .../db/compaction/LeveledCompactionStrategy.java | 10 +++++++--- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 0435d4eff1..0a8db61b41 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,10 +1,8 @@ -1.2.12 +1.2.11 + * Add a warning for small LCS sstable size (CASSANDRA-6191) * Add ability to list specific KS/CF combinations in nodetool cfstats (CASSANDRA-4191) * Mark CF clean if a mutation raced the drop and got it marked dirty * Add a LOCAL_ONE consistency level (CASSANDRA-6202) - - -1.2.11 * Limit CQL prepared statement cache by size instead of count (CASSANDRA-6107) * Tracing should log write failure rather than raw exceptions (CASSANDRA-6133) * lock access to TM.endpointToHostIdMap (CASSANDRA-6103) diff --git a/build.xml b/build.xml index 3742910b69..43e0919dbf 100644 --- a/build.xml +++ b/build.xml @@ -1113,6 +1113,7 @@ + @@ -1122,6 +1123,7 @@ + @@ -1160,6 +1162,7 @@ + diff --git a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java b/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java index f9d8964df5..95bd6ed26d 100644 --- a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java @@ -58,10 +58,14 @@ public class LeveledCompactionStrategy extends AbstractCompactionStrategy implem if (options.containsKey(SSTABLE_SIZE_OPTION)) { configuredMaxSSTableSize = Integer.parseInt(options.get(SSTABLE_SIZE_OPTION)); - if (configuredMaxSSTableSize >= 1000) + if (!Boolean.getBoolean("cassandra.tolerate_sstable_size")) { - // Yes, people have done this - logger.warn("Max sstable size of {}MB is configured; having a unit of compaction this large is probably a bad idea", configuredMaxSSTableSize); + if (configuredMaxSSTableSize >= 1000) + logger.warn("Max sstable size of {}MB is configured for {}.{}; having a unit of compaction this large is probably a bad idea", + configuredMaxSSTableSize, cfs.table.name, cfs.getColumnFamilyName()); + if (configuredMaxSSTableSize < 50) + logger.warn("Max sstable size of {}MB is configured for {}.{}. Testing done for CASSANDRA-5727 indicates that performance improves up to 160MB", + configuredMaxSSTableSize, cfs.table.name, cfs.getColumnFamilyName()); } } }