diff --git a/CHANGES.txt b/CHANGES.txt index 5f6d473a34..bb38369ac6 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -32,12 +32,10 @@ * Save compaction history to system keyspace (CASSANDRA-5078) * Fix NPE if StorageService.getOperationMode() is executed before full startup (CASSANDRA-6166) Merged from 1.2: + * 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 fe1a5f7b6f..288bc82a76 100644 --- a/build.xml +++ b/build.xml @@ -1081,6 +1081,7 @@ + @@ -1091,6 +1092,7 @@ + @@ -1124,6 +1126,7 @@ + diff --git a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java b/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java index 522aef98e3..f5a60e0675 100644 --- a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java @@ -59,8 +59,28 @@ public class LeveledCompactionStrategy extends AbstractCompactionStrategy implem configuredMaxSSTableSize = Integer.parseInt(options.get(SSTABLE_SIZE_OPTION)); if (configuredMaxSSTableSize >= 1000) { +<<<<<<< HEAD // 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); +||||||| merged common ancestors + configuredMaxSSTableSize = Integer.parseInt(options.get(SSTABLE_SIZE_OPTION)); + if (configuredMaxSSTableSize >= 1000) + { + // 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); + } +======= + configuredMaxSSTableSize = Integer.parseInt(options.get(SSTABLE_SIZE_OPTION)); + if (!Boolean.getBoolean("cassandra.tolerate_sstable_size")) + { + 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()); + } +>>>>>>> cassandra-1.2 } } maxSSTableSizeInMB = configuredMaxSSTableSize;