Merge branch 'cassandra-2.1' into trunk Conflicts: test/long/org/apache/cassandra/db/compaction/LongLeveledCompactionStrategyTest.java
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cf6f7c16 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cf6f7c16 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cf6f7c16 Branch: refs/heads/trunk Commit: cf6f7c16361f6ef87345054b6706477c920deb0c Parents: 894b7b9 ed0026f Author: Marcus Eriksson <marc...@apache.org> Authored: Tue May 12 08:22:44 2015 +0200 Committer: Marcus Eriksson <marc...@apache.org> Committed: Tue May 12 08:22:44 2015 +0200 ---------------------------------------------------------------------- .../LongLeveledCompactionStrategyTest.java | 30 +++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cf6f7c16/test/long/org/apache/cassandra/db/compaction/LongLeveledCompactionStrategyTest.java ---------------------------------------------------------------------- diff --cc test/long/org/apache/cassandra/db/compaction/LongLeveledCompactionStrategyTest.java index 0e3f1e9,0eb769f..e38eb3c --- a/test/long/org/apache/cassandra/db/compaction/LongLeveledCompactionStrategyTest.java +++ b/test/long/org/apache/cassandra/db/compaction/LongLeveledCompactionStrategyTest.java @@@ -27,31 -27,14 +27,33 @@@ import org.junit.Test import org.apache.cassandra.SchemaLoader; import org.apache.cassandra.Util; +import org.apache.cassandra.config.KSMetaData; import org.apache.cassandra.db.*; -import org.apache.cassandra.io.sstable.SSTableReader; +import org.apache.cassandra.exceptions.ConfigurationException; +import org.apache.cassandra.locator.SimpleStrategy; import org.apache.cassandra.utils.FBUtilities; + import static org.junit.Assert.assertTrue; + -public class LongLeveledCompactionStrategyTest extends SchemaLoader +public class LongLeveledCompactionStrategyTest { + public static final String KEYSPACE1 = "LongLeveledCompactionStrategyTest"; + public static final String CF_STANDARDLVL = "StandardLeveled"; + + @BeforeClass + public static void defineSchema() throws ConfigurationException + { + Map<String, String> leveledOptions = new HashMap<>(); + leveledOptions.put("sstable_size_in_mb", "1"); + SchemaLoader.prepareServer(); + SchemaLoader.createKeyspace(KEYSPACE1, + SimpleStrategy.class, + KSMetaData.optsWithRF(1), + SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARDLVL) + .compactionStrategyClass(LeveledCompactionStrategy.class) + .compactionStrategyOptions(leveledOptions)); + } + @Test public void testParallelLeveledCompaction() throws Exception { @@@ -91,9 -77,10 +94,9 @@@ { while (true) { - final AbstractCompactionTask t = lcs.getMaximalTask(Integer.MIN_VALUE, false).iterator().next(); - if (t == null) + final AbstractCompactionTask nextTask = lcs.getNextBackgroundTask(Integer.MIN_VALUE); + if (nextTask == null) break; - tasks.add(new Runnable() { public void run() @@@ -119,21 -108,21 +122,20 @@@ for (int level = 0; level < levels; level++) { List<SSTableReader> sstables = manifest.getLevel(level); - // score check - assert (double) SSTableReader.getTotalBytes(sstables) / manifest.maxBytesForLevel(level) < 1.00; - + assert (double) SSTableReader.getTotalBytes(sstables) / LeveledManifest.maxBytesForLevel(level, 1 * 1024 * 1024) < 1.00; + // overlap check for levels greater than 0 - if (level > 0) + for (SSTableReader sstable : sstables) { - for (SSTableReader sstable : sstables) - { - Set<SSTableReader> overlaps = LeveledManifest.overlapping(sstable, sstables); - assert overlaps.size() == 1 && overlaps.contains(sstable); - } + // level check + assert level == sstable.getSSTableLevel(); + + if (level > 0) + {// overlap check for levels greater than 0 + Set<SSTableReader> overlaps = LeveledManifest.overlapping(sstable, sstables); + assert overlaps.size() == 1 && overlaps.contains(sstable); + } } } - for (SSTableReader sstable : store.getSSTables()) - { - assert sstable.getSSTableLevel() == sstable.getSSTableLevel(); - } } }