merge from 1.2
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/229da372 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/229da372 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/229da372 Branch: refs/heads/cassandra-2.0 Commit: 229da3725637fa0dae07477e3bdb00c3d1876e84 Parents: a15d57b c5368c7 Author: Jonathan Ellis <[email protected]> Authored: Thu Oct 17 23:10:38 2013 +0100 Committer: Jonathan Ellis <[email protected]> Committed: Thu Oct 17 23:10:38 2013 +0100 ---------------------------------------------------------------------- CHANGES.txt | 4 +--- build.xml | 3 +++ .../compaction/LeveledCompactionStrategy.java | 20 ++++++++++++++++++++ 3 files changed, 24 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/229da372/CHANGES.txt ---------------------------------------------------------------------- diff --cc CHANGES.txt index ad38cd3,0a8db61..b551400 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,28 -1,5 +1,29 @@@ -1.2.11 +2.0.2 + * Fix FileCacheService regressions (CASSANDRA-6149) + * Never return WriteTimeout for CL.ANY (CASSANDRA-6032) + * Fix race conditions in bulk loader (CASSANDRA-6129) + * Add configurable metrics reporting (CASSANDRA-4430) + * drop queries exceeding a configurable number of tombstones (CASSANDRA-6117) + * Track and persist sstable read activity (CASSANDRA-5515) + * Fixes for speculative retry (CASSANDRA-5932) + * Improve memory usage of metadata min/max column names (CASSANDRA-6077) + * Fix thrift validation refusing row markers on CQL3 tables (CASSANDRA-6081) + * Fix insertion of collections with CAS (CASSANDRA-6069) + * Correctly send metadata on SELECT COUNT (CASSANDRA-6080) + * Track clients' remote addresses in ClientState (CASSANDRA-6070) + * Create snapshot dir if it does not exist when migrating + leveled manifest (CASSANDRA-6093) + * make sequential nodetool repair the default (CASSANDRA-5950) + * Add more hooks for compaction strategy implementations (CASSANDRA-6111) + * Fix potential NPE on composite 2ndary indexes (CASSANDRA-6098) + * Delete can potentially be skipped in batch (CASSANDRA-6115) + * Allow alter keyspace on system_traces (CASSANDRA-6016) + * Disallow empty column names in cql (CASSANDRA-6136) + * Use Java7 file-handling APIs and fix file moving on Windows (CASSANDRA-5383) + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/229da372/build.xml ---------------------------------------------------------------------- diff --cc build.xml index 5e7f269,43e0919..2703edf --- a/build.xml +++ b/build.xml @@@ -1075,8 -1112,8 +1075,9 @@@ <testmacro suitename="unit" inputdir="${test.unit.src}" timeout="60000"> <jvmarg value="-Dlegacy-sstable-root=${test.data}/legacy-sstables"/> <jvmarg value="-Dcorrupt-sstable-root=${test.data}/corrupt-sstables"/> + <jvmarg value="-Dmigration-sstable-root=${test.data}/migration-sstables"/> <jvmarg value="-Dcassandra.ring_delay_ms=1000"/> + <jvmarg value="-Dcassandra.tolerate_sstable_size=true"/> </testmacro> </target> @@@ -1084,9 -1121,9 +1085,10 @@@ <testmacro suitename="unit" inputdir="${test.unit.src}" timeout="60000"> <jvmarg value="-Dlegacy-sstable-root=${test.data}/legacy-sstables"/> <jvmarg value="-Dcorrupt-sstable-root=${test.data}/corrupt-sstables"/> + <jvmarg value="-Dmigration-sstable-root=${test.data}/migration-sstables"/> <jvmarg value="-Dcassandra.test.compression=true"/> <jvmarg value="-Dcassandra.ring_delay_ms=1000"/> + <jvmarg value="-Dcassandra.tolerate_sstable_size=true"/> </testmacro> </target> http://git-wip-us.apache.org/repos/asf/cassandra/blob/229da372/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java index 522aef9,95bd6ed..f5a60e0 --- a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java @@@ -53,14 -53,20 +53,34 @@@ public class LeveledCompactionStrategy { super(cfs, options); int configuredMaxSSTableSize = 160; - if (options != null) + SizeTieredCompactionStrategyOptions localOptions = new SizeTieredCompactionStrategyOptions(options); + if (options.containsKey(SSTABLE_SIZE_OPTION)) { - if (options.containsKey(SSTABLE_SIZE_OPTION)) + 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;
