http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/cql3/validation/miscellaneous/CrcCheckChanceTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/validation/miscellaneous/CrcCheckChanceTest.java b/test/unit/org/apache/cassandra/cql3/validation/miscellaneous/CrcCheckChanceTest.java index 097a77d..ff9d88b 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/miscellaneous/CrcCheckChanceTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/miscellaneous/CrcCheckChanceTest.java @@ -53,9 +53,9 @@ public class CrcCheckChanceTest extends CQLTester cfs.forceBlockingFlush(); Assert.assertEquals(0.99, cfs.metadata.compressionParameters.getCrcCheckChance()); - Assert.assertEquals(0.99, cfs.getSSTables().iterator().next().getCompressionMetadata().parameters.getCrcCheckChance()); + Assert.assertEquals(0.99, cfs.getLiveSSTables().iterator().next().getCompressionMetadata().parameters.getCrcCheckChance()); Assert.assertEquals(0.99, indexCfs.metadata.compressionParameters.getCrcCheckChance()); - Assert.assertEquals(0.99, indexCfs.getSSTables().iterator().next().getCompressionMetadata().parameters.getCrcCheckChance()); + Assert.assertEquals(0.99, indexCfs.getLiveSSTables().iterator().next().getCompressionMetadata().parameters.getCrcCheckChance()); //Test for stack overflow cfs.setCrcCheckChance(0.99); @@ -96,9 +96,9 @@ public class CrcCheckChanceTest extends CQLTester alterTable("ALTER TABLE %s WITH compression = {'sstable_compression': 'LZ4Compressor', 'crc_check_chance': 0.01}"); Assert.assertEquals( 0.01, cfs.metadata.compressionParameters.getCrcCheckChance()); - Assert.assertEquals( 0.01, cfs.getSSTables().iterator().next().getCompressionMetadata().parameters.getCrcCheckChance()); + Assert.assertEquals( 0.01, cfs.getLiveSSTables().iterator().next().getCompressionMetadata().parameters.getCrcCheckChance()); Assert.assertEquals( 0.01, indexCfs.metadata.compressionParameters.getCrcCheckChance()); - Assert.assertEquals( 0.01, indexCfs.getSSTables().iterator().next().getCompressionMetadata().parameters.getCrcCheckChance()); + Assert.assertEquals( 0.01, indexCfs.getLiveSSTables().iterator().next().getCompressionMetadata().parameters.getCrcCheckChance()); assertRows(execute("SELECT * FROM %s WHERE p=?", "p1"), row("p1", "k1", "sv1", "v1"), @@ -113,9 +113,9 @@ public class CrcCheckChanceTest extends CQLTester //Verify the call used by JMX still works cfs.setCrcCheckChance(0.03); Assert.assertEquals( 0.03, cfs.metadata.compressionParameters.getCrcCheckChance()); - Assert.assertEquals( 0.03, cfs.getSSTables().iterator().next().getCompressionMetadata().parameters.getCrcCheckChance()); + Assert.assertEquals( 0.03, cfs.getLiveSSTables().iterator().next().getCompressionMetadata().parameters.getCrcCheckChance()); Assert.assertEquals( 0.03, indexCfs.metadata.compressionParameters.getCrcCheckChance()); - Assert.assertEquals( 0.03, indexCfs.getSSTables().iterator().next().getCompressionMetadata().parameters.getCrcCheckChance()); + Assert.assertEquals( 0.03, indexCfs.getLiveSSTables().iterator().next().getCompressionMetadata().parameters.getCrcCheckChance()); }
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/cql3/validation/miscellaneous/SSTableMetadataTrackingTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/validation/miscellaneous/SSTableMetadataTrackingTest.java b/test/unit/org/apache/cassandra/cql3/validation/miscellaneous/SSTableMetadataTrackingTest.java index 89f80f5..288cbe1 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/miscellaneous/SSTableMetadataTrackingTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/miscellaneous/SSTableMetadataTrackingTest.java @@ -34,11 +34,11 @@ public class SSTableMetadataTrackingTest extends CQLTester ColumnFamilyStore cfs = Keyspace.open(keyspace()).getColumnFamilyStore(currentTable()); execute("INSERT INTO %s (a,b,c) VALUES (1,1,'1') using timestamp 9999"); cfs.forceBlockingFlush(); - StatsMetadata metadata = cfs.getSSTables().iterator().next().getSSTableMetadata(); + StatsMetadata metadata = cfs.getLiveSSTables().iterator().next().getSSTableMetadata(); assertEquals(9999, metadata.minTimestamp); assertEquals(Integer.MAX_VALUE, metadata.maxLocalDeletionTime); cfs.forceMajorCompaction(); - metadata = cfs.getSSTables().iterator().next().getSSTableMetadata(); + metadata = cfs.getLiveSSTables().iterator().next().getSSTableMetadata(); assertEquals(9999, metadata.minTimestamp); assertEquals(Integer.MAX_VALUE, metadata.maxLocalDeletionTime); } @@ -51,12 +51,12 @@ public class SSTableMetadataTrackingTest extends CQLTester execute("INSERT INTO %s (a,b,c) VALUES (1,1,'1') using timestamp 10000"); execute("DELETE FROM %s USING TIMESTAMP 9999 WHERE a = 1 and b = 1"); cfs.forceBlockingFlush(); - StatsMetadata metadata = cfs.getSSTables().iterator().next().getSSTableMetadata(); + StatsMetadata metadata = cfs.getLiveSSTables().iterator().next().getSSTableMetadata(); assertEquals(9999, metadata.minTimestamp); assertEquals(10000, metadata.maxTimestamp); assertEquals(Integer.MAX_VALUE, metadata.maxLocalDeletionTime, 5); cfs.forceMajorCompaction(); - metadata = cfs.getSSTables().iterator().next().getSSTableMetadata(); + metadata = cfs.getLiveSSTables().iterator().next().getSSTableMetadata(); assertEquals(9999, metadata.minTimestamp); assertEquals(10000, metadata.maxTimestamp); assertEquals(Integer.MAX_VALUE, metadata.maxLocalDeletionTime, 5); @@ -70,12 +70,12 @@ public class SSTableMetadataTrackingTest extends CQLTester execute("INSERT INTO %s (a,b,c) VALUES (1,1,'1') using timestamp 10000"); execute("DELETE FROM %s USING TIMESTAMP 9999 WHERE a = 1"); cfs.forceBlockingFlush(); - StatsMetadata metadata = cfs.getSSTables().iterator().next().getSSTableMetadata(); + StatsMetadata metadata = cfs.getLiveSSTables().iterator().next().getSSTableMetadata(); assertEquals(9999, metadata.minTimestamp); assertEquals(10000, metadata.maxTimestamp); assertEquals(Integer.MAX_VALUE, metadata.maxLocalDeletionTime, 5); cfs.forceMajorCompaction(); - metadata = cfs.getSSTables().iterator().next().getSSTableMetadata(); + metadata = cfs.getLiveSSTables().iterator().next().getSSTableMetadata(); assertEquals(9999, metadata.minTimestamp); assertEquals(10000, metadata.maxTimestamp); assertEquals(Integer.MAX_VALUE, metadata.maxLocalDeletionTime, 5); @@ -89,13 +89,13 @@ public class SSTableMetadataTrackingTest extends CQLTester ColumnFamilyStore cfs = Keyspace.open(keyspace()).getColumnFamilyStore(currentTable()); execute("DELETE FROM %s USING TIMESTAMP 9999 WHERE a = 1 and b = 1"); cfs.forceBlockingFlush(); - assertEquals(1, cfs.getSSTables().size()); - StatsMetadata metadata = cfs.getSSTables().iterator().next().getSSTableMetadata(); + assertEquals(1, cfs.getLiveSSTables().size()); + StatsMetadata metadata = cfs.getLiveSSTables().iterator().next().getSSTableMetadata(); assertEquals(9999, metadata.minTimestamp); assertEquals(9999, metadata.maxTimestamp); assertEquals(System.currentTimeMillis()/1000, metadata.maxLocalDeletionTime, 5); cfs.forceMajorCompaction(); - StatsMetadata metadata2 = cfs.getSSTables().iterator().next().getSSTableMetadata(); + StatsMetadata metadata2 = cfs.getLiveSSTables().iterator().next().getSSTableMetadata(); assertEquals(metadata.maxLocalDeletionTime, metadata2.maxLocalDeletionTime); assertEquals(metadata.minTimestamp, metadata2.minTimestamp); assertEquals(metadata.maxTimestamp, metadata2.maxTimestamp); @@ -109,13 +109,13 @@ public class SSTableMetadataTrackingTest extends CQLTester execute("DELETE FROM %s USING TIMESTAMP 9999 WHERE a = 1"); cfs.forceBlockingFlush(); - assertEquals(1, cfs.getSSTables().size()); - StatsMetadata metadata = cfs.getSSTables().iterator().next().getSSTableMetadata(); + assertEquals(1, cfs.getLiveSSTables().size()); + StatsMetadata metadata = cfs.getLiveSSTables().iterator().next().getSSTableMetadata(); assertEquals(9999, metadata.minTimestamp); assertEquals(9999, metadata.maxTimestamp); assertEquals(System.currentTimeMillis()/1000, metadata.maxLocalDeletionTime, 5); cfs.forceMajorCompaction(); - StatsMetadata metadata2 = cfs.getSSTables().iterator().next().getSSTableMetadata(); + StatsMetadata metadata2 = cfs.getLiveSSTables().iterator().next().getSSTableMetadata(); assertEquals(metadata.maxLocalDeletionTime, metadata2.maxLocalDeletionTime); assertEquals(metadata.minTimestamp, metadata2.minTimestamp); assertEquals(metadata.maxTimestamp, metadata2.maxTimestamp); @@ -129,13 +129,13 @@ public class SSTableMetadataTrackingTest extends CQLTester execute("INSERT INTO %s (a) VALUES (1) USING TIMESTAMP 9999"); cfs.forceBlockingFlush(); - assertEquals(1, cfs.getSSTables().size()); - StatsMetadata metadata = cfs.getSSTables().iterator().next().getSSTableMetadata(); + assertEquals(1, cfs.getLiveSSTables().size()); + StatsMetadata metadata = cfs.getLiveSSTables().iterator().next().getSSTableMetadata(); assertEquals(9999, metadata.minTimestamp); assertEquals(9999, metadata.maxTimestamp); assertEquals(Integer.MAX_VALUE, metadata.maxLocalDeletionTime); cfs.forceMajorCompaction(); - StatsMetadata metadata2 = cfs.getSSTables().iterator().next().getSSTableMetadata(); + StatsMetadata metadata2 = cfs.getLiveSSTables().iterator().next().getSSTableMetadata(); assertEquals(metadata.maxLocalDeletionTime, metadata2.maxLocalDeletionTime); assertEquals(metadata.minTimestamp, metadata2.minTimestamp); assertEquals(metadata.maxTimestamp, metadata2.maxTimestamp); @@ -148,13 +148,13 @@ public class SSTableMetadataTrackingTest extends CQLTester ColumnFamilyStore cfs = Keyspace.open(keyspace()).getColumnFamilyStore(currentTable()); execute("DELETE FROM %s USING TIMESTAMP 9999 WHERE a=1"); cfs.forceBlockingFlush(); - assertEquals(1, cfs.getSSTables().size()); - StatsMetadata metadata = cfs.getSSTables().iterator().next().getSSTableMetadata(); + assertEquals(1, cfs.getLiveSSTables().size()); + StatsMetadata metadata = cfs.getLiveSSTables().iterator().next().getSSTableMetadata(); assertEquals(9999, metadata.minTimestamp); assertEquals(9999, metadata.maxTimestamp); assertEquals(System.currentTimeMillis()/1000, metadata.maxLocalDeletionTime, 5); cfs.forceMajorCompaction(); - StatsMetadata metadata2 = cfs.getSSTables().iterator().next().getSSTableMetadata(); + StatsMetadata metadata2 = cfs.getLiveSSTables().iterator().next().getSSTableMetadata(); assertEquals(metadata.maxLocalDeletionTime, metadata2.maxLocalDeletionTime); assertEquals(metadata.minTimestamp, metadata2.minTimestamp); assertEquals(metadata.maxTimestamp, metadata2.maxTimestamp); http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/CleanupTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/CleanupTest.java b/test/unit/org/apache/cassandra/db/CleanupTest.java index c6cb882..792aaa7 100644 --- a/test/unit/org/apache/cassandra/db/CleanupTest.java +++ b/test/unit/org/apache/cassandra/db/CleanupTest.java @@ -140,7 +140,7 @@ public class CleanupTest assertEquals(0, Util.getAll(Util.cmd(cfs).build()).size()); // not only should it be gone but there should be no data on disk, not even tombstones - assert cfs.getSSTables().isEmpty(); + assert cfs.getLiveSSTables().isEmpty(); // 2ary indexes should result in no results, too (although tombstones won't be gone until compacted) assertEquals(0, Util.getAll(Util.cmd(cfs).filterOn("birthdate", Operator.EQ, VALUE).build()).size()); @@ -191,7 +191,7 @@ public class CleanupTest protected List<Long> getMaxTimestampList(ColumnFamilyStore cfs) { List<Long> list = new LinkedList<Long>(); - for (SSTableReader sstable : cfs.getSSTables()) + for (SSTableReader sstable : cfs.getLiveSSTables()) list.add(sstable.getMaxTimestamp()); return list; } http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/ColumnFamilyMetricTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/ColumnFamilyMetricTest.java b/test/unit/org/apache/cassandra/db/ColumnFamilyMetricTest.java index f1a4905..bee747e 100644 --- a/test/unit/org/apache/cassandra/db/ColumnFamilyMetricTest.java +++ b/test/unit/org/apache/cassandra/db/ColumnFamilyMetricTest.java @@ -62,7 +62,7 @@ public class ColumnFamilyMetricTest .applyUnsafe(); } cfs.forceBlockingFlush(); - Collection<SSTableReader> sstables = cfs.getSSTables(); + Collection<SSTableReader> sstables = cfs.getLiveSSTables(); long size = 0; for (SSTableReader reader : sstables) { http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java b/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java index 2a15bdf..47c07ac 100644 --- a/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java +++ b/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java @@ -36,6 +36,7 @@ import com.google.common.collect.Iterators; import org.apache.cassandra.*; import org.apache.cassandra.config.*; import org.apache.cassandra.cql3.Operator; +import org.apache.cassandra.db.lifecycle.SSTableSet; import org.apache.cassandra.db.rows.*; import org.apache.cassandra.db.partitions.*; import org.apache.cassandra.db.marshal.*; @@ -128,7 +129,7 @@ public class ColumnFamilyStoreTest Util.writeColumnFamily(rms); - List<SSTableReader> ssTables = keyspace.getAllSSTables(); + List<SSTableReader> ssTables = keyspace.getAllSSTables(SSTableSet.LIVE); assertEquals(1, ssTables.size()); ssTables.get(0).forceFilterFailures(); Util.assertEmpty(Util.cmd(cfs, "key2").build()); @@ -451,7 +452,7 @@ public class ColumnFamilyStoreTest // assertTrue(generations.contains(1)); // assertTrue(generations.contains(2)); // -// assertEquals(0, cfs.getSSTables().size()); +// assertEquals(0, cfs.getLiveSSTables().size()); // // // start the generation counter at 1 again (other tests have incremented it already) // cfs.resetFileIndexGenerator(); @@ -468,7 +469,7 @@ public class ColumnFamilyStoreTest // DatabaseDescriptor.setIncrementalBackupsEnabled(incrementalBackupsEnabled); // } // -// assertEquals(2, cfs.getSSTables().size()); +// assertEquals(2, cfs.getLiveSSTables().size()); // generations = new HashSet<>(); // for (Descriptor descriptor : dir.sstableLister().list().keySet()) // generations.add(descriptor.generation); @@ -521,7 +522,7 @@ public class ColumnFamilyStoreTest cfs.forceBlockingFlush(); // Nuke the metadata and reload that sstable - Collection<SSTableReader> ssTables = cfs.getSSTables(); + Collection<SSTableReader> ssTables = cfs.getLiveSSTables(); assertEquals(1, ssTables.size()); SSTableReader ssTable = ssTables.iterator().next(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/HintedHandOffTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/HintedHandOffTest.java b/test/unit/org/apache/cassandra/db/HintedHandOffTest.java index f4efd82..dfa9e26 100644 --- a/test/unit/org/apache/cassandra/db/HintedHandOffTest.java +++ b/test/unit/org/apache/cassandra/db/HintedHandOffTest.java @@ -87,14 +87,14 @@ public class HintedHandOffTest // flush data to disk hintStore.forceBlockingFlush(); - assertEquals(1, hintStore.getSSTables().size()); + assertEquals(1, hintStore.getLiveSSTables().size()); // submit compaction HintedHandOffManager.instance.compact(); // single row should not be removed because of gc_grace_seconds // is 10 hours and there are no any tombstones in sstable - assertEquals(1, hintStore.getSSTables().size()); + assertEquals(1, hintStore.getLiveSSTables().size()); } @Test http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/KeyCacheTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/KeyCacheTest.java b/test/unit/org/apache/cassandra/db/KeyCacheTest.java index 3dd5cce..2508800 100644 --- a/test/unit/org/apache/cassandra/db/KeyCacheTest.java +++ b/test/unit/org/apache/cassandra/db/KeyCacheTest.java @@ -147,7 +147,7 @@ public class KeyCacheTest assertKeyCacheSize(2, KEYSPACE1, COLUMN_FAMILY1); - Set<SSTableReader> readers = cfs.getTracker().getSSTables(); + Set<SSTableReader> readers = cfs.getLiveSSTables(); Refs<SSTableReader> refs = Refs.tryRef(readers); if (refs == null) throw new IllegalStateException(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/KeyspaceTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/KeyspaceTest.java b/test/unit/org/apache/cassandra/db/KeyspaceTest.java index 8754209..2e79dfe 100644 --- a/test/unit/org/apache/cassandra/db/KeyspaceTest.java +++ b/test/unit/org/apache/cassandra/db/KeyspaceTest.java @@ -119,7 +119,7 @@ public class KeyspaceTest extends CQLTester for (String key : new String[]{"0", "2"}) Util.assertEmpty(Util.cmd(cfs, key).build()); - Collection<SSTableReader> sstables = cfs.getSSTables(); + Collection<SSTableReader> sstables = cfs.getLiveSSTables(); assertEquals(1, sstables.size()); sstables.iterator().next().forceFilterFailures(); @@ -381,11 +381,11 @@ public class KeyspaceTest extends CQLTester validateSliceLarge(cfs); // compact so we have a big row with more than the minimum index count - if (cfs.getSSTables().size() > 1) + if (cfs.getLiveSSTables().size() > 1) CompactionManager.instance.performMaximal(cfs, false); // verify that we do indeed have multiple index entries - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); RowIndexEntry indexEntry = sstable.getPosition(Util.dk("0"), SSTableReader.Operator.EQ); assert indexEntry.columnsIndex().size() > 2; http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java index c83103a..8d12e1b 100644 --- a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java +++ b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java @@ -236,10 +236,10 @@ public class RangeTombstoneTest new Mutation(PartitionUpdate.fullPartitionDelete(cfs.metadata, Util.dk(key), 1000, nowInSec)).apply(); cfs.forceBlockingFlush(); - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); assertTimes(sstable.getSSTableMetadata(), 1000, 1000, nowInSec); cfs.forceMajorCompaction(); - sstable = cfs.getSSTables().iterator().next(); + sstable = cfs.getLiveSSTables().iterator().next(); assertTimes(sstable.getSSTableMetadata(), 1000, 1000, nowInSec); } @@ -258,10 +258,10 @@ public class RangeTombstoneTest new Mutation(PartitionUpdate.fullPartitionDelete(cfs.metadata, Util.dk(key), 1000, nowInSec)).apply(); cfs.forceBlockingFlush(); - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); assertTimes(sstable.getSSTableMetadata(), 999, 1000, Integer.MAX_VALUE); cfs.forceMajorCompaction(); - sstable = cfs.getSSTables().iterator().next(); + sstable = cfs.getLiveSSTables().iterator().next(); assertTimes(sstable.getSSTableMetadata(), 999, 1000, Integer.MAX_VALUE); } @@ -277,10 +277,10 @@ public class RangeTombstoneTest new RowUpdateBuilder(cfs.metadata, nowInSec, 1000L, key).addRangeTombstone(1, 2).build().apply(); cfs.forceBlockingFlush(); - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); assertTimes(sstable.getSSTableMetadata(), 1000, 1000, nowInSec); cfs.forceMajorCompaction(); - sstable = cfs.getSSTables().iterator().next(); + sstable = cfs.getLiveSSTables().iterator().next(); assertTimes(sstable.getSSTableMetadata(), 1000, 1000, nowInSec); } @@ -300,10 +300,10 @@ public class RangeTombstoneTest cfs.forceBlockingFlush(); cfs.forceBlockingFlush(); - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); assertTimes(sstable.getSSTableMetadata(), 999, 1000, Integer.MAX_VALUE); cfs.forceMajorCompaction(); - sstable = cfs.getSSTables().iterator().next(); + sstable = cfs.getLiveSSTables().iterator().next(); assertTimes(sstable.getSSTableMetadata(), 999, 1000, Integer.MAX_VALUE); } @@ -480,14 +480,14 @@ public class RangeTombstoneTest cfs.forceBlockingFlush(); // there should be 2 sstables - assertEquals(2, cfs.getSSTables().size()); + assertEquals(2, cfs.getLiveSSTables().size()); // compact down to single sstable CompactionManager.instance.performMaximal(cfs, false); - assertEquals(1, cfs.getSSTables().size()); + assertEquals(1, cfs.getLiveSSTables().size()); // test the physical structure of the sstable i.e. rt & columns on disk - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); try (UnfilteredPartitionIterator scanner = sstable.getScanner()) { try (UnfilteredRowIterator iter = scanner.next()) @@ -577,7 +577,7 @@ public class RangeTombstoneTest CompactionManager.instance.performMaximal(cfs, false); // compacted down to single sstable - assertEquals(1, cfs.getSSTables().size()); + assertEquals(1, cfs.getLiveSSTables().size()); assertEquals(8, index.deletes.size()); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/ScrubTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/ScrubTest.java b/test/unit/org/apache/cassandra/db/ScrubTest.java index 181b4e0..9b62590 100644 --- a/test/unit/org/apache/cassandra/db/ScrubTest.java +++ b/test/unit/org/apache/cassandra/db/ScrubTest.java @@ -137,9 +137,9 @@ public class ScrubTest assertOrderedAll(cfs, numPartitions); - assertEquals(1, cfs.getSSTables().size()); + assertEquals(1, cfs.getLiveSSTables().size()); - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); //make sure to override at most 1 chunk when compression is enabled overrideWithGarbage(sstable, ByteBufferUtil.bytes("0"), ByteBufferUtil.bytes("1")); @@ -177,7 +177,7 @@ public class ScrubTest assertEquals(1, scrubResult.badRows); assertEquals(numPartitions-1, scrubResult.goodRows); } - assertEquals(1, cfs.getSSTables().size()); + assertEquals(1, cfs.getLiveSSTables().size()); assertOrderedAll(cfs, scrubResult.goodRows); } @@ -197,7 +197,7 @@ public class ScrubTest assertOrderedAll(cfs, 2); - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); // overwrite one row with garbage overrideWithGarbage(sstable, ByteBufferUtil.bytes("0"), ByteBufferUtil.bytes("1")); @@ -220,7 +220,7 @@ public class ScrubTest scrubber.close(); } - assertEquals(1, cfs.getSSTables().size()); + assertEquals(1, cfs.getLiveSSTables().size()); // verify that we can read all of the rows, and there is now one less row assertOrderedAll(cfs, 1); } @@ -240,7 +240,7 @@ public class ScrubTest fillCF(cfs, 4); assertOrderedAll(cfs, 4); - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); overrideWithGarbage(sstable, 0, 2); CompactionManager.instance.performScrub(cfs, false, true); @@ -294,7 +294,7 @@ public class ScrubTest fillCF(cfs, 10); assertOrderedAll(cfs, 10); - for (SSTableReader sstable : cfs.getSSTables()) + for (SSTableReader sstable : cfs.getLiveSSTables()) new File(sstable.descriptor.filenameFor(Component.PRIMARY_INDEX)).delete(); CompactionManager.instance.performScrub(cfs, false, true, true); @@ -640,7 +640,7 @@ public class ScrubTest boolean failure = !scrubs[i]; if (failure) { //make sure the next scrub fails - overrideWithGarbage(indexCfs.getSSTables().iterator().next(), ByteBufferUtil.bytes(1L), ByteBufferUtil.bytes(2L)); + overrideWithGarbage(indexCfs.getLiveSSTables().iterator().next(), ByteBufferUtil.bytes(1L), ByteBufferUtil.bytes(2L)); } CompactionManager.AllSSTableOpStatus result = indexCfs.scrub(false, false, true, true); assertEquals(failure ? http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/SecondaryIndexTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/SecondaryIndexTest.java b/test/unit/org/apache/cassandra/db/SecondaryIndexTest.java index f907f1f..0974fc4 100644 --- a/test/unit/org/apache/cassandra/db/SecondaryIndexTest.java +++ b/test/unit/org/apache/cassandra/db/SecondaryIndexTest.java @@ -431,7 +431,7 @@ public class SecondaryIndexTest future.get(); // we had a bug (CASSANDRA-2244) where index would get created but not flushed -- check for that ColumnDefinition cDef = cfs.metadata.getColumnDefinition(ByteBufferUtil.bytes("birthdate")); - assert cfs.indexManager.getIndexForColumn(cDef).getIndexCfs().getSSTables().size() > 0; + assert cfs.indexManager.getIndexForColumn(cDef).getIndexCfs().getLiveSSTables().size() > 0; assertIndexedOne(cfs, ByteBufferUtil.bytes("birthdate"), 1L); http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/VerifyTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/VerifyTest.java b/test/unit/org/apache/cassandra/db/VerifyTest.java index d2f933c..2e659af 100644 --- a/test/unit/org/apache/cassandra/db/VerifyTest.java +++ b/test/unit/org/apache/cassandra/db/VerifyTest.java @@ -100,7 +100,7 @@ public class VerifyTest fillCF(cfs, 2); - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); try (Verifier verifier = new Verifier(cfs, sstable, false)) { @@ -121,7 +121,7 @@ public class VerifyTest fillCounterCF(cfs, 2); - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); try (Verifier verifier = new Verifier(cfs, sstable, false)) { @@ -142,7 +142,7 @@ public class VerifyTest fillCF(cfs, 2); - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); try (Verifier verifier = new Verifier(cfs, sstable, false)) { @@ -163,7 +163,7 @@ public class VerifyTest fillCounterCF(cfs, 2); - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); try (Verifier verifier = new Verifier(cfs, sstable, false)) { @@ -184,7 +184,7 @@ public class VerifyTest fillCF(cfs, 2); - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); try (Verifier verifier = new Verifier(cfs, sstable, false)) { @@ -205,7 +205,7 @@ public class VerifyTest fillCounterCF(cfs, 2); - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); try (Verifier verifier = new Verifier(cfs, sstable, false)) { @@ -226,7 +226,7 @@ public class VerifyTest fillCF(cfs, 2); - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); try (Verifier verifier = new Verifier(cfs, sstable, false)) { @@ -247,7 +247,7 @@ public class VerifyTest fillCounterCF(cfs, 2); - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); try (Verifier verifier = new Verifier(cfs, sstable, false)) { @@ -271,7 +271,7 @@ public class VerifyTest Util.getAll(Util.cmd(cfs).build()); - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); RandomAccessFile file = new RandomAccessFile(sstable.descriptor.filenameFor(Component.DIGEST), "rw"); @@ -300,7 +300,7 @@ public class VerifyTest Util.getAll(Util.cmd(cfs).build()); - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); // overwrite one row with garbage long row0Start = sstable.getPosition(PartitionPosition.ForKey.get(ByteBufferUtil.bytes("0"), sstable.partitioner), SSTableReader.Operator.EQ).position; http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/compaction/AntiCompactionTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/compaction/AntiCompactionTest.java b/test/unit/org/apache/cassandra/db/compaction/AntiCompactionTest.java index 9de33db..b85c5ec 100644 --- a/test/unit/org/apache/cassandra/db/compaction/AntiCompactionTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/AntiCompactionTest.java @@ -22,7 +22,9 @@ import java.io.IOException; import java.util.Arrays; import java.util.Collection; import java.util.List; +import java.util.Set; +import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import com.google.common.util.concurrent.RateLimiter; import org.junit.BeforeClass; @@ -33,6 +35,7 @@ import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.db.*; import org.apache.cassandra.db.lifecycle.LifecycleTransaction; import org.apache.cassandra.db.rows.EncodingStats; +import org.apache.cassandra.db.lifecycle.SSTableSet; import org.apache.cassandra.db.rows.UnfilteredRowIterator; import org.apache.cassandra.dht.ByteOrderedPartitioner.BytesToken; import org.apache.cassandra.dht.Range; @@ -40,7 +43,6 @@ import org.apache.cassandra.dht.Token; import org.apache.cassandra.exceptions.ConfigurationException; import org.apache.cassandra.io.sstable.*; import org.apache.cassandra.io.sstable.format.SSTableReader; -import org.apache.cassandra.io.sstable.format.SSTableWriter; import org.apache.cassandra.schema.KeyspaceParams; import org.apache.cassandra.service.ActiveRepairService; import org.apache.cassandra.SchemaLoader; @@ -83,8 +85,8 @@ public class AntiCompactionTest public void antiCompactOne() throws Exception { ColumnFamilyStore store = prepareColumnFamilyStore(); - Collection<SSTableReader> sstables = store.getUnrepairedSSTables(); - assertEquals(store.getSSTables().size(), sstables.size()); + Collection<SSTableReader> sstables = getUnrepairedSSTables(store); + assertEquals(store.getLiveSSTables().size(), sstables.size()); Range<Token> range = new Range<Token>(new BytesToken("0".getBytes()), new BytesToken("4".getBytes())); List<Range<Token>> ranges = Arrays.asList(range); @@ -99,8 +101,8 @@ public class AntiCompactionTest CompactionManager.instance.performAnticompaction(store, ranges, refs, txn, repairedAt); } - assertEquals(2, store.getSSTables().size()); - for (SSTableReader sstable : store.getSSTables()) + assertEquals(2, store.getLiveSSTables().size()); + for (SSTableReader sstable : store.getLiveSSTables()) { try (ISSTableScanner scanner = sstable.getScanner((RateLimiter) null)) { @@ -120,7 +122,7 @@ public class AntiCompactionTest } } } - for (SSTableReader sstable : store.getSSTables()) + for (SSTableReader sstable : store.getLiveSSTables()) { assertFalse(sstable.isMarkedCompacted()); assertEquals(1, sstable.selfRef().globalCount()); @@ -140,14 +142,14 @@ public class AntiCompactionTest cfs.addSSTable(s); long origSize = s.bytesOnDisk(); Range<Token> range = new Range<Token>(new BytesToken(ByteBufferUtil.bytes(0)), new BytesToken(ByteBufferUtil.bytes(500))); - Collection<SSTableReader> sstables = cfs.getSSTables(); + Collection<SSTableReader> sstables = cfs.getLiveSSTables(); try (LifecycleTransaction txn = cfs.getTracker().tryModify(sstables, OperationType.ANTICOMPACTION); Refs<SSTableReader> refs = Refs.ref(sstables)) { CompactionManager.instance.performAnticompaction(cfs, Arrays.asList(range), refs, txn, 12345); } long sum = 0; - for (SSTableReader x : cfs.getSSTables()) + for (SSTableReader x : cfs.getLiveSSTables()) sum += x.bytesOnDisk(); assertEquals(sum, cfs.metric.liveDiskSpaceUsed.getCount()); assertEquals(origSize, cfs.metric.liveDiskSpaceUsed.getCount(), 100000); @@ -209,8 +211,8 @@ public class AntiCompactionTest { generateSStable(store,Integer.toString(table)); } - Collection<SSTableReader> sstables = store.getUnrepairedSSTables(); - assertEquals(store.getSSTables().size(), sstables.size()); + Collection<SSTableReader> sstables = getUnrepairedSSTables(store); + assertEquals(store.getLiveSSTables().size(), sstables.size()); Range<Token> range = new Range<Token>(new BytesToken("0".getBytes()), new BytesToken("4".getBytes())); List<Range<Token>> ranges = Arrays.asList(range); @@ -225,10 +227,10 @@ public class AntiCompactionTest Anticompaction will be anti-compacting 10 SSTables but will be doing this two at a time so there will be no net change in the number of sstables */ - assertEquals(10, store.getSSTables().size()); + assertEquals(10, store.getLiveSSTables().size()); int repairedKeys = 0; int nonRepairedKeys = 0; - for (SSTableReader sstable : store.getSSTables()) + for (SSTableReader sstable : store.getLiveSSTables()) { try (ISSTableScanner scanner = sstable.getScanner((RateLimiter) null)) { @@ -260,8 +262,8 @@ public class AntiCompactionTest public void shouldMutateRepairedAt() throws InterruptedException, IOException { ColumnFamilyStore store = prepareColumnFamilyStore(); - Collection<SSTableReader> sstables = store.getUnrepairedSSTables(); - assertEquals(store.getSSTables().size(), sstables.size()); + Collection<SSTableReader> sstables = getUnrepairedSSTables(store); + assertEquals(store.getLiveSSTables().size(), sstables.size()); Range<Token> range = new Range<Token>(new BytesToken("0".getBytes()), new BytesToken("9999".getBytes())); List<Range<Token>> ranges = Arrays.asList(range); @@ -271,9 +273,9 @@ public class AntiCompactionTest CompactionManager.instance.performAnticompaction(store, ranges, refs, txn, 1); } - assertThat(store.getSSTables().size(), is(1)); - assertThat(Iterables.get(store.getSSTables(), 0).isRepaired(), is(true)); - assertThat(Iterables.get(store.getSSTables(), 0).selfRef().globalCount(), is(1)); + assertThat(store.getLiveSSTables().size(), is(1)); + assertThat(Iterables.get(store.getLiveSSTables(), 0).isRepaired(), is(true)); + assertThat(Iterables.get(store.getLiveSSTables(), 0).selfRef().globalCount(), is(1)); assertThat(store.getTracker().getCompacting().size(), is(0)); } @@ -289,8 +291,8 @@ public class AntiCompactionTest { generateSStable(store,Integer.toString(table)); } - Collection<SSTableReader> sstables = store.getUnrepairedSSTables(); - assertEquals(store.getSSTables().size(), sstables.size()); + Collection<SSTableReader> sstables = getUnrepairedSSTables(store); + assertEquals(store.getLiveSSTables().size(), sstables.size()); Range<Token> range = new Range<Token>(new BytesToken("-10".getBytes()), new BytesToken("-1".getBytes())); List<Range<Token>> ranges = Arrays.asList(range); @@ -302,8 +304,8 @@ public class AntiCompactionTest CompactionManager.instance.performAnticompaction(store, ranges, refs, txn, 0); } - assertThat(store.getSSTables().size(), is(10)); - assertThat(Iterables.get(store.getSSTables(), 0).isRepaired(), is(false)); + assertThat(store.getLiveSSTables().size(), is(10)); + assertThat(Iterables.get(store.getLiveSSTables(), 0).isRepaired(), is(false)); } private ColumnFamilyStore prepareColumnFamilyStore() @@ -330,4 +332,11 @@ public class AntiCompactionTest ColumnFamilyStore store = keyspace.getColumnFamilyStore(CF); store.truncateBlocking(); } + + private static Set<SSTableReader> getUnrepairedSSTables(ColumnFamilyStore cfs) + { + return ImmutableSet.copyOf(cfs.getTracker().getView().sstables(SSTableSet.LIVE, (s) -> !s.isRepaired())); + } + + } http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/compaction/BlacklistingCompactionsTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/compaction/BlacklistingCompactionsTest.java b/test/unit/org/apache/cassandra/db/compaction/BlacklistingCompactionsTest.java index 9eb6f5a..c71463b 100644 --- a/test/unit/org/apache/cassandra/db/compaction/BlacklistingCompactionsTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/BlacklistingCompactionsTest.java @@ -126,7 +126,7 @@ public class BlacklistingCompactionsTest assertEquals(inserted.toString(), inserted.size(), Util.getAll(Util.cmd(cfs).build()).size()); } - Collection<SSTableReader> sstables = cfs.getSSTables(); + Collection<SSTableReader> sstables = cfs.getLiveSSTables(); int currentSSTable = 0; int sstablesToCorrupt = 8; http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/compaction/CompactionAwareWriterTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/compaction/CompactionAwareWriterTest.java b/test/unit/org/apache/cassandra/db/compaction/CompactionAwareWriterTest.java index 30f14fc..19c56e8 100644 --- a/test/unit/org/apache/cassandra/db/compaction/CompactionAwareWriterTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/CompactionAwareWriterTest.java @@ -76,13 +76,13 @@ public class CompactionAwareWriterTest extends CQLTester int rowCount = 1000; cfs.disableAutoCompaction(); populate(rowCount); - LifecycleTransaction txn = cfs.getTracker().tryModify(cfs.getSSTables(), OperationType.COMPACTION); + LifecycleTransaction txn = cfs.getTracker().tryModify(cfs.getLiveSSTables(), OperationType.COMPACTION); long beforeSize = txn.originals().iterator().next().onDiskLength(); CompactionAwareWriter writer = new DefaultCompactionWriter(cfs, txn, txn.originals(), false); int rows = compact(cfs, txn, writer); - assertEquals(1, cfs.getSSTables().size()); + assertEquals(1, cfs.getLiveSSTables().size()); assertEquals(rowCount, rows); - assertEquals(beforeSize, cfs.getSSTables().iterator().next().onDiskLength()); + assertEquals(beforeSize, cfs.getLiveSSTables().iterator().next().onDiskLength()); validateData(cfs, rowCount); cfs.truncateBlocking(); } @@ -94,12 +94,12 @@ public class CompactionAwareWriterTest extends CQLTester cfs.disableAutoCompaction(); int rowCount = 1000; populate(rowCount); - LifecycleTransaction txn = cfs.getTracker().tryModify(cfs.getSSTables(), OperationType.COMPACTION); + LifecycleTransaction txn = cfs.getTracker().tryModify(cfs.getLiveSSTables(), OperationType.COMPACTION); long beforeSize = txn.originals().iterator().next().onDiskLength(); int sstableSize = (int)beforeSize/10; CompactionAwareWriter writer = new MaxSSTableSizeWriter(cfs, txn, txn.originals(), sstableSize, 0, false); int rows = compact(cfs, txn, writer); - assertEquals(10, cfs.getSSTables().size()); + assertEquals(10, cfs.getLiveSSTables().size()); assertEquals(rowCount, rows); validateData(cfs, rowCount); cfs.truncateBlocking(); @@ -112,12 +112,12 @@ public class CompactionAwareWriterTest extends CQLTester cfs.disableAutoCompaction(); int rowCount = 10000; populate(rowCount); - LifecycleTransaction txn = cfs.getTracker().tryModify(cfs.getSSTables(), OperationType.COMPACTION); + LifecycleTransaction txn = cfs.getTracker().tryModify(cfs.getLiveSSTables(), OperationType.COMPACTION); long beforeSize = txn.originals().iterator().next().onDiskLength(); CompactionAwareWriter writer = new SplittingSizeTieredCompactionWriter(cfs, txn, txn.originals(), 0); int rows = compact(cfs, txn, writer); long expectedSize = beforeSize / 2; - List<SSTableReader> sortedSSTables = new ArrayList<>(cfs.getSSTables()); + List<SSTableReader> sortedSSTables = new ArrayList<>(cfs.getLiveSSTables()); Collections.sort(sortedSSTables, new Comparator<SSTableReader>() { @@ -147,15 +147,15 @@ public class CompactionAwareWriterTest extends CQLTester int rowCount = 20000; int targetSSTableCount = 50; populate(rowCount); - LifecycleTransaction txn = cfs.getTracker().tryModify(cfs.getSSTables(), OperationType.COMPACTION); + LifecycleTransaction txn = cfs.getTracker().tryModify(cfs.getLiveSSTables(), OperationType.COMPACTION); long beforeSize = txn.originals().iterator().next().onDiskLength(); int sstableSize = (int)beforeSize/targetSSTableCount; CompactionAwareWriter writer = new MajorLeveledCompactionWriter(cfs, txn, txn.originals(), sstableSize, false); int rows = compact(cfs, txn, writer); - assertEquals(targetSSTableCount, cfs.getSSTables().size()); + assertEquals(targetSSTableCount, cfs.getLiveSSTables().size()); int [] levelCounts = new int[5]; assertEquals(rowCount, rows); - for (SSTableReader sstable : cfs.getSSTables()) + for (SSTableReader sstable : cfs.getLiveSSTables()) { levelCounts[sstable.getSSTableLevel()]++; } @@ -199,7 +199,7 @@ public class CompactionAwareWriterTest extends CQLTester ColumnFamilyStore cfs = getColumnFamilyStore(); cfs.forceBlockingFlush(); - if (cfs.getSSTables().size() > 1) + if (cfs.getLiveSSTables().size() > 1) { // we want just one big sstable to avoid doing actual compaction in compact() above try @@ -211,7 +211,7 @@ public class CompactionAwareWriterTest extends CQLTester throw new RuntimeException(t); } } - assert cfs.getSSTables().size() == 1 : cfs.getSSTables(); + assert cfs.getLiveSSTables().size() == 1 : cfs.getLiveSSTables(); } private void validateData(ColumnFamilyStore cfs, int rowCount) throws Throwable http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/compaction/CompactionsPurgeTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/compaction/CompactionsPurgeTest.java b/test/unit/org/apache/cassandra/db/compaction/CompactionsPurgeTest.java index b2e5ed4..f82a1ba 100644 --- a/test/unit/org/apache/cassandra/db/compaction/CompactionsPurgeTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/CompactionsPurgeTest.java @@ -160,7 +160,7 @@ public class CompactionsPurgeTest // flush, remember the current sstable and then resurrect one column // for first key. Then submit minor compaction on remembered sstables. cfs.forceBlockingFlush(); - Collection<SSTableReader> sstablesIncomplete = cfs.getSSTables(); + Collection<SSTableReader> sstablesIncomplete = cfs.getLiveSSTables(); RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 2, "key1"); builder.clustering(String.valueOf(5)) @@ -209,7 +209,7 @@ public class CompactionsPurgeTest RowUpdateBuilder.deleteRow(cfs.metadata, 10, key3, "c1").applyUnsafe(); cfs.forceBlockingFlush(); - Collection<SSTableReader> sstablesIncomplete = cfs.getSSTables(); + Collection<SSTableReader> sstablesIncomplete = cfs.getLiveSSTables(); // delete c2 so we have new delete in a diffrent SSTable RowUpdateBuilder.deleteRow(cfs.metadata, 9, key3, "c2").applyUnsafe(); @@ -252,11 +252,11 @@ public class CompactionsPurgeTest RowUpdateBuilder.deleteRow(cfs.metadata, 1, key, String.valueOf(i)).applyUnsafe(); } cfs.forceBlockingFlush(); - assertEquals(String.valueOf(cfs.getSSTables()), 1, cfs.getSSTables().size()); // inserts & deletes were in the same memtable -> only deletes in sstable + assertEquals(String.valueOf(cfs.getLiveSSTables()), 1, cfs.getLiveSSTables().size()); // inserts & deletes were in the same memtable -> only deletes in sstable // compact and test that the row is completely gone Util.compactAll(cfs, Integer.MAX_VALUE).get(); - assertTrue(cfs.getSSTables().isEmpty()); + assertTrue(cfs.getLiveSSTables().isEmpty()); Util.assertEmpty(Util.cmd(cfs, key).build()); } @@ -372,7 +372,7 @@ public class CompactionsPurgeTest cfs.forceBlockingFlush(); // basic check that the row is considered deleted - assertEquals(2, cfs.getSSTables().size()); + assertEquals(2, cfs.getLiveSSTables().size()); result = QueryProcessor.executeInternal(String.format("SELECT * FROM %s.%s WHERE k = %d", keyspace, table, 1)); assertEquals(0, result.size()); @@ -380,7 +380,7 @@ public class CompactionsPurgeTest FBUtilities.waitOnFutures(CompactionManager.instance.submitMaximal(cfs, (int) (System.currentTimeMillis() / 1000) - 10000, false)); // the data should be gone, but the tombstone should still exist - assertEquals(1, cfs.getSSTables().size()); + assertEquals(1, cfs.getLiveSSTables().size()); result = QueryProcessor.executeInternal(String.format("SELECT * FROM %s.%s WHERE k = %d", keyspace, table, 1)); assertEquals(0, result.size()); @@ -388,7 +388,7 @@ public class CompactionsPurgeTest QueryProcessor.executeInternal(String.format("INSERT INTO %s.%s (k, v1, v2) VALUES (%d, '%s', %d)", keyspace, table, 1, "foo", 1)); cfs.forceBlockingFlush(); - assertEquals(2, cfs.getSSTables().size()); + assertEquals(2, cfs.getLiveSSTables().size()); result = QueryProcessor.executeInternal(String.format("SELECT * FROM %s.%s WHERE k = %d", keyspace, table, 1)); assertEquals(1, result.size()); @@ -400,7 +400,7 @@ public class CompactionsPurgeTest FBUtilities.waitOnFutures(CompactionManager.instance.submitMaximal(cfs, (int) (System.currentTimeMillis() / 1000) + 10000, false)); // both the data and the tombstone should be gone this time - assertEquals(0, cfs.getSSTables().size()); + assertEquals(0, cfs.getLiveSSTables().size()); result = QueryProcessor.executeInternal(String.format("SELECT * FROM %s.%s WHERE k = %d", keyspace, table, 1)); assertEquals(0, result.size()); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/compaction/CompactionsTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/compaction/CompactionsTest.java b/test/unit/org/apache/cassandra/db/compaction/CompactionsTest.java index 7beb405..700bc3e 100644 --- a/test/unit/org/apache/cassandra/db/compaction/CompactionsTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/CompactionsTest.java @@ -87,8 +87,8 @@ public class CompactionsTest long timestamp = populate(KEYSPACE1, CF_DENSE1, 0, 9, 3); //ttl=3s store.forceBlockingFlush(); - assertEquals(1, store.getSSTables().size()); - long originalSize = store.getSSTables().iterator().next().uncompressedLength(); + assertEquals(1, store.getLiveSSTables().size()); + long originalSize = store.getLiveSSTables().iterator().next().uncompressedLength(); // wait enough to force single compaction TimeUnit.SECONDS.sleep(5); @@ -102,8 +102,8 @@ public class CompactionsTest } while (CompactionManager.instance.getPendingTasks() > 0 || CompactionManager.instance.getActiveCompactions() > 0); // and sstable with ttl should be compacted - assertEquals(1, store.getSSTables().size()); - long size = store.getSSTables().iterator().next().uncompressedLength(); + assertEquals(1, store.getLiveSSTables().size()); + long size = store.getLiveSSTables().iterator().next().uncompressedLength(); assertTrue("should be less than " + originalSize + ", but was " + size, size < originalSize); // make sure max timestamp of compacted sstables is recorded properly after compaction. @@ -170,10 +170,10 @@ public class CompactionsTest cfs.forceBlockingFlush(); CompactionManager.instance.performMaximal(cfs); - assertEquals(1, cfs.getSSTables().size()); + assertEquals(1, cfs.getLiveSSTables().size()); // check that the shadowed column is gone - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); AbstractBounds<PartitionPosition> bounds = new Bounds<PartitionPosition>(key, sstable.partitioner.getMinimumToken().maxKeyBound()); ISSTableScanner scanner = sstable.getScanner(FBUtilities.nowInSeconds()); UnfilteredRowIterator ai = scanner.next(); @@ -205,9 +205,9 @@ public class CompactionsTest long timestamp2 = populate(KEYSPACE1, CF_STANDARD1, 10, 19, 3); //ttl=3s store.forceBlockingFlush(); - assertEquals(2, store.getSSTables().size()); + assertEquals(2, store.getLiveSSTables().size()); - Iterator<SSTableReader> it = store.getSSTables().iterator(); + Iterator<SSTableReader> it = store.getLiveSSTables().iterator(); long originalSize1 = it.next().uncompressedLength(); long originalSize2 = it.next().uncompressedLength(); @@ -224,8 +224,8 @@ public class CompactionsTest // even though both sstables were candidate for tombstone compaction // it was not executed because they have an overlapping token range - assertEquals(2, store.getSSTables().size()); - it = store.getSSTables().iterator(); + assertEquals(2, store.getLiveSSTables().size()); + it = store.getLiveSSTables().iterator(); long newSize1 = it.next().uncompressedLength(); long newSize2 = it.next().uncompressedLength(); assertEquals("candidate sstable should not be tombstone-compacted because its key range overlap with other sstable", @@ -245,8 +245,8 @@ public class CompactionsTest } while (CompactionManager.instance.getPendingTasks() > 0 || CompactionManager.instance.getActiveCompactions() > 0); //we still have 2 sstables, since they were not compacted against each other - assertEquals(2, store.getSSTables().size()); - it = store.getSSTables().iterator(); + assertEquals(2, store.getLiveSSTables().size()); + it = store.getLiveSSTables().iterator(); newSize1 = it.next().uncompressedLength(); newSize2 = it.next().uncompressedLength(); assertTrue("should be less than " + originalSize1 + ", but was " + newSize1, newSize1 < originalSize1); @@ -260,7 +260,7 @@ public class CompactionsTest public static void assertMaxTimestamp(ColumnFamilyStore cfs, long maxTimestampExpected) { long maxTimestampObserved = Long.MIN_VALUE; - for (SSTableReader sstable : cfs.getSSTables()) + for (SSTableReader sstable : cfs.getLiveSSTables()) maxTimestampObserved = Math.max(sstable.getMaxTimestamp(), maxTimestampObserved); assertEquals(maxTimestampExpected, maxTimestampObserved); } @@ -289,7 +289,7 @@ public class CompactionsTest if (i % 2 == 0) cfs.forceBlockingFlush(); } - Collection<SSTableReader> toCompact = cfs.getSSTables(); + Collection<SSTableReader> toCompact = cfs.getLiveSSTables(); assertEquals(2, toCompact.size()); // Reinserting the same keys. We will compact only the previous sstable, but we need those new ones @@ -303,18 +303,18 @@ public class CompactionsTest } cfs.forceBlockingFlush(); SSTableReader tmpSSTable = null; - for (SSTableReader sstable : cfs.getSSTables()) + for (SSTableReader sstable : cfs.getLiveSSTables()) if (!toCompact.contains(sstable)) tmpSSTable = sstable; assertNotNull(tmpSSTable); // Force compaction on first sstables. Since each row is in only one sstable, we will be using EchoedRow. Util.compact(cfs, toCompact); - assertEquals(2, cfs.getSSTables().size()); + assertEquals(2, cfs.getLiveSSTables().size()); // Now, we remove the sstable that was just created to force the use of EchoedRow (so that it doesn't hide the problem) cfs.markObsolete(Collections.singleton(tmpSSTable), OperationType.UNKNOWN); - assertEquals(1, cfs.getSSTables().size()); + assertEquals(1, cfs.getLiveSSTables().size()); // Now assert we do have the 4 keys assertEquals(4, Util.getRangeSlice(cfs).size()); @@ -349,7 +349,7 @@ public class CompactionsTest rm.applyUnsafe(); } cfs.forceBlockingFlush(); - Collection<SSTableReader> sstables = cfs.getSSTables(); + Collection<SSTableReader> sstables = cfs.getLiveSSTables(); assertEquals(1, sstables.size()); SSTableReader sstable = sstables.iterator().next(); @@ -364,7 +364,7 @@ public class CompactionsTest Thread.sleep(100); } while (CompactionManager.instance.getPendingTasks() > 0 || CompactionManager.instance.getActiveCompactions() > 0); // CF should have only one sstable with generation number advanced - sstables = cfs.getSSTables(); + sstables = cfs.getLiveSSTables(); assertEquals(1, sstables.size()); assertEquals( prevGeneration + 1, sstables.iterator().next().descriptor.generation); } @@ -414,12 +414,12 @@ public class CompactionsTest cfs.addSSTable(writer.closeAndOpenReader()); } - Collection<SSTableReader> toCompact = cfs.getSSTables(); + Collection<SSTableReader> toCompact = cfs.getLiveSSTables(); assert toCompact.size() == 2; // Force compaction on first sstables. Since each row is in only one sstable, we will be using EchoedRow. Util.compact(cfs, toCompact); - assertEquals(1, cfs.getSSTables().size()); + assertEquals(1, cfs.getLiveSSTables().size()); // Now assert we do have the 4 keys assertEquals(4, Util.getRangeSlice(cfs).size()); @@ -433,7 +433,7 @@ public class CompactionsTest assertEquals(3,r.cf.getColumn(Util.cellname("a")).timestamp()); } - for (SSTableReader sstable : cfs.getSSTables()) + for (SSTableReader sstable : cfs.getLiveSSTables()) { StatsMetadata stats = sstable.getSSTableMetadata(); assertEquals(ByteBufferUtil.bytes("0"), stats.minColumnNames.get(0)); @@ -443,6 +443,35 @@ public class CompactionsTest assertEquals(keys, k); } + @Test + public void testCompactionLog() throws Exception + { + SystemKeyspace.discardCompactionsInProgress(); + + String cf = "Standard4"; + ColumnFamilyStore cfs = Keyspace.open(KEYSPACE1).getColumnFamilyStore(cf); + SchemaLoader.insertData(KEYSPACE1, cf, 0, 1); + cfs.forceBlockingFlush(); + + Collection<SSTableReader> sstables = cfs.getLiveSSTables(); + assertFalse(sstables.isEmpty()); + Set<Integer> generations = Sets.newHashSet(Iterables.transform(sstables, new Function<SSTableReader, Integer>() + { + public Integer apply(SSTableReader sstable) + { + return sstable.descriptor.generation; + } + })); + UUID taskId = SystemKeyspace.startCompaction(cfs, sstables); + Map<Pair<String, String>, Map<Integer, UUID>> compactionLogs = SystemKeyspace.getUnfinishedCompactions(); + Set<Integer> unfinishedCompactions = compactionLogs.get(Pair.create(KEYSPACE1, cf)).keySet(); + assertTrue(unfinishedCompactions.containsAll(generations)); + + SystemKeyspace.finishCompaction(taskId); + compactionLogs = SystemKeyspace.getUnfinishedCompactions(); + assertFalse(compactionLogs.containsKey(Pair.create(KEYSPACE1, cf))); + } + private void testDontPurgeAccidentaly(String k, String cfname) throws InterruptedException { // This test catches the regression of CASSANDRA-2786 @@ -461,7 +490,7 @@ public class CompactionsTest cfs.forceBlockingFlush(); - Collection<SSTableReader> sstablesBefore = cfs.getSSTables(); + Collection<SSTableReader> sstablesBefore = cfs.getLiveSSTables(); QueryFilter filter = QueryFilter.getIdentityFilter(key, cfname, System.currentTimeMillis()); assertTrue(cfs.getColumnFamily(filter).hasColumns()); @@ -479,7 +508,7 @@ public class CompactionsTest cfs.forceBlockingFlush(); - Collection<SSTableReader> sstablesAfter = cfs.getSSTables(); + Collection<SSTableReader> sstablesAfter = cfs.getLiveSSTables(); Collection<SSTableReader> toCompact = new ArrayList<SSTableReader>(); for (SSTableReader sstable : sstablesAfter) if (!sstablesBefore.contains(sstable)) @@ -543,8 +572,8 @@ public class CompactionsTest } store.forceBlockingFlush(); - assertEquals(1, store.getSSTables().size()); - SSTableReader sstable = store.getSSTables().iterator().next(); + assertEquals(1, store.getLiveSSTables().size()); + SSTableReader sstable = store.getLiveSSTables().iterator().next(); // contiguous range spans all data http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java b/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java index 823d349..7136933 100644 --- a/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java @@ -221,7 +221,7 @@ public class DateTieredCompactionStrategyTest extends SchemaLoader } cfs.forceBlockingFlush(); - List<SSTableReader> sstrs = new ArrayList<>(cfs.getSSTables()); + List<SSTableReader> sstrs = new ArrayList<>(cfs.getLiveSSTables()); List<SSTableReader> newBucket = newestBucket(Collections.singletonList(sstrs.subList(0, 2)), 4, 32, 9, 10); assertTrue("incoming bucket should not be accepted when it has below the min threshold SSTables", newBucket.isEmpty()); @@ -270,7 +270,7 @@ public class DateTieredCompactionStrategyTest extends SchemaLoader cfs.forceBlockingFlush(); Iterable<SSTableReader> filtered; - List<SSTableReader> sstrs = new ArrayList<>(cfs.getSSTables()); + List<SSTableReader> sstrs = new ArrayList<>(cfs.getLiveSSTables()); filtered = filterOldSSTables(sstrs, 0, 2); assertEquals("when maxSSTableAge is zero, no sstables should be filtered", sstrs.size(), Iterables.size(filtered)); @@ -303,7 +303,7 @@ public class DateTieredCompactionStrategyTest extends SchemaLoader .add("val", value).build().applyUnsafe(); cfs.forceBlockingFlush(); - SSTableReader expiredSSTable = cfs.getSSTables().iterator().next(); + SSTableReader expiredSSTable = cfs.getLiveSSTables().iterator().next(); Thread.sleep(10); key = Util.dk(String.valueOf("nonexpired")); @@ -312,7 +312,7 @@ public class DateTieredCompactionStrategyTest extends SchemaLoader .add("val", value).build().applyUnsafe(); cfs.forceBlockingFlush(); - assertEquals(cfs.getSSTables().size(), 2); + assertEquals(cfs.getLiveSSTables().size(), 2); Map<String, String> options = new HashMap<>(); @@ -320,7 +320,7 @@ public class DateTieredCompactionStrategyTest extends SchemaLoader options.put(DateTieredCompactionStrategyOptions.TIMESTAMP_RESOLUTION_KEY, "MILLISECONDS"); options.put(DateTieredCompactionStrategyOptions.MAX_SSTABLE_AGE_KEY, Double.toString((1d / (24 * 60 * 60)))); DateTieredCompactionStrategy dtcs = new DateTieredCompactionStrategy(cfs, options); - for (SSTableReader sstable : cfs.getSSTables()) + for (SSTableReader sstable : cfs.getLiveSSTables()) dtcs.addSSTable(sstable); dtcs.startup(); assertNull(dtcs.getNextBackgroundTask((int) (System.currentTimeMillis() / 1000))); http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java b/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java index a869a7f..a589b0f 100644 --- a/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java @@ -124,7 +124,7 @@ public class LeveledCompactionStrategyTest assert strategy.getSSTableCountPerLevel()[1] > 0; assert strategy.getSSTableCountPerLevel()[2] > 0; - Collection<Collection<SSTableReader>> groupedSSTables = cfs.getCompactionStrategyManager().groupSSTablesForAntiCompaction(cfs.getSSTables()); + Collection<Collection<SSTableReader>> groupedSSTables = cfs.getCompactionStrategyManager().groupSSTablesForAntiCompaction(cfs.getLiveSSTables()); for (Collection<SSTableReader> sstableGroup : groupedSSTables) { int groupLevel = -1; @@ -256,7 +256,7 @@ public class LeveledCompactionStrategyTest while(CompactionManager.instance.isCompacting(Arrays.asList(cfs))) Thread.sleep(100); - for (SSTableReader s : cfs.getSSTables()) + for (SSTableReader s : cfs.getLiveSSTables()) { assertTrue(s.getSSTableLevel() != 6); strategy.manifest.remove(s); @@ -265,12 +265,12 @@ public class LeveledCompactionStrategyTest strategy.manifest.add(s); } // verify that all sstables in the changed set is level 6 - for (SSTableReader s : cfs.getSSTables()) + for (SSTableReader s : cfs.getLiveSSTables()) assertEquals(6, s.getSSTableLevel()); int[] levels = strategy.manifest.getAllLevelSize(); // verify that the manifest has correct amount of sstables - assertEquals(cfs.getSSTables().size(), levels[6]); + assertEquals(cfs.getLiveSSTables().size(), levels[6]); } @Test @@ -308,14 +308,14 @@ public class LeveledCompactionStrategyTest assertTrue(strategy.getSSTableCountPerLevel()[1] > 0); assertTrue(strategy.getSSTableCountPerLevel()[2] > 0); - for (SSTableReader sstable : cfs.getSSTables()) + for (SSTableReader sstable : cfs.getLiveSSTables()) assertFalse(sstable.isRepaired()); int sstableCount = 0; for (List<SSTableReader> level : unrepaired.manifest.generations) sstableCount += level.size(); // we only have unrepaired sstables: - assertEquals(sstableCount, cfs.getSSTables().size()); + assertEquals(sstableCount, cfs.getLiveSSTables().size()); SSTableReader sstable1 = unrepaired.manifest.generations[2].get(0); SSTableReader sstable2 = unrepaired.manifest.generations[1].get(0); http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/compaction/OneCompactionTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/compaction/OneCompactionTest.java b/test/unit/org/apache/cassandra/db/compaction/OneCompactionTest.java index d5802f9..fa3e6e3 100644 --- a/test/unit/org/apache/cassandra/db/compaction/OneCompactionTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/OneCompactionTest.java @@ -76,7 +76,7 @@ public class OneCompactionTest assertEquals(inserted.size(), Util.getAll(Util.cmd(store).build()).size()); } CompactionManager.instance.performMaximal(store, false); - assertEquals(1, store.getSSTables().size()); + assertEquals(1, store.getLiveSSTables().size()); } @Test http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategyTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategyTest.java b/test/unit/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategyTest.java index f3fdd3a..3cefd49 100644 --- a/test/unit/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategyTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategyTest.java @@ -168,7 +168,7 @@ public class SizeTieredCompactionStrategyTest } cfs.forceBlockingFlush(); - List<SSTableReader> sstrs = new ArrayList<>(cfs.getSSTables()); + List<SSTableReader> sstrs = new ArrayList<>(cfs.getLiveSSTables()); Pair<List<SSTableReader>, Double> bucket; List<SSTableReader> interestingBucket = mostInterestingBucket(Collections.singletonList(sstrs.subList(0, 2)), 4, 32); http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/compaction/TTLExpiryTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/compaction/TTLExpiryTest.java b/test/unit/org/apache/cassandra/db/compaction/TTLExpiryTest.java index 7be787e..1fc0c01 100644 --- a/test/unit/org/apache/cassandra/db/compaction/TTLExpiryTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/TTLExpiryTest.java @@ -122,7 +122,7 @@ public class TTLExpiryTest cfs.forceBlockingFlush(); - Set<SSTableReader> sstables = Sets.newHashSet(cfs.getSSTables()); + Set<SSTableReader> sstables = Sets.newHashSet(cfs.getLiveSSTables()); int now = (int)(System.currentTimeMillis() / 1000); int gcBefore = now + 2; Set<SSTableReader> expired = CompactionController.getFullyExpiredSSTables( @@ -173,9 +173,9 @@ public class TTLExpiryTest cfs.forceBlockingFlush(); Thread.sleep(2000); // wait for ttl to expire - assertEquals(4, cfs.getSSTables().size()); + assertEquals(4, cfs.getLiveSSTables().size()); cfs.enableAutoCompaction(true); - assertEquals(0, cfs.getSSTables().size()); + assertEquals(0, cfs.getLiveSSTables().size()); } @Test @@ -211,10 +211,10 @@ public class TTLExpiryTest cfs.forceBlockingFlush(); Thread.sleep(2000); // wait for ttl to expire - assertEquals(4, cfs.getSSTables().size()); + assertEquals(4, cfs.getLiveSSTables().size()); cfs.enableAutoCompaction(true); - assertEquals(1, cfs.getSSTables().size()); - SSTableReader sstable = cfs.getSSTables().iterator().next(); + assertEquals(1, cfs.getLiveSSTables().size()); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); ISSTableScanner scanner = sstable.getScanner(ColumnFilter.all(sstable.metadata), DataRange.allData(sstable.partitioner), false); assertTrue(scanner.hasNext()); while(scanner.hasNext()) http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/lifecycle/RealTransactionsTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/lifecycle/RealTransactionsTest.java b/test/unit/org/apache/cassandra/db/lifecycle/RealTransactionsTest.java index 5291baa..2153567 100644 --- a/test/unit/org/apache/cassandra/db/lifecycle/RealTransactionsTest.java +++ b/test/unit/org/apache/cassandra/db/lifecycle/RealTransactionsTest.java @@ -119,7 +119,7 @@ public class RealTransactionsTest extends SchemaLoader SSTableReader ssTableReader = getSSTable(cfs, 100); - String dataFolder = cfs.getSSTables().iterator().next().descriptor.directory.getPath(); + String dataFolder = cfs.getLiveSSTables().iterator().next().descriptor.directory.getPath(); String transactionLogsFolder = StringUtils.join(dataFolder, File.separator, Directories.TRANSACTIONS_SUBDIR); assertTrue(new File(transactionLogsFolder).exists()); @@ -132,7 +132,7 @@ public class RealTransactionsTest extends SchemaLoader { createSSTable(cfs, numPartitions); - Set<SSTableReader> sstables = new HashSet<>(cfs.getSSTables()); + Set<SSTableReader> sstables = new HashSet<>(cfs.getLiveSSTables()); assertEquals(1, sstables.size()); return sstables.iterator().next(); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/db/lifecycle/ViewTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/lifecycle/ViewTest.java b/test/unit/org/apache/cassandra/db/lifecycle/ViewTest.java index d4ecb18..27d426a 100644 --- a/test/unit/org/apache/cassandra/db/lifecycle/ViewTest.java +++ b/test/unit/org/apache/cassandra/db/lifecycle/ViewTest.java @@ -21,10 +21,12 @@ package org.apache.cassandra.db.lifecycle; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Set; import com.google.common.base.Function; import com.google.common.base.Predicates; import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import org.junit.BeforeClass; import org.junit.Test; @@ -67,7 +69,7 @@ public class ViewTest { if (i == j && !(minInc && maxInc)) continue; - List<SSTableReader> r = initialView.sstablesInBounds(AbstractBounds.bounds(min, minInc, max, maxInc)); + List<SSTableReader> r = ImmutableList.copyOf(initialView.sstablesInBounds(SSTableSet.LIVE, AbstractBounds.bounds(min, minInc, max, maxInc))); Assert.assertEquals(String.format("%d(%s) %d(%s)", i, minInc, j, maxInc), j - i + (minInc ? 0 : -1) + (maxInc ? 1 : 0), r.size()); } } @@ -96,8 +98,8 @@ public class ViewTest Assert.assertFalse(View.permitCompacting(readers.subList(1, 2)).apply(cur)); Assert.assertTrue(readers.subList(2, 5).containsAll(copyOf(cur.getUncompacting(readers)))); Assert.assertEquals(3, copyOf(cur.getUncompacting(readers)).size()); - Assert.assertTrue(cur.nonCompactingSStables().containsAll(readers.subList(2, 5))); - Assert.assertEquals(3, cur.nonCompactingSStables().size()); + Assert.assertTrue(ImmutableSet.copyOf(cur.sstables(SSTableSet.NONCOMPACTING)).containsAll(readers.subList(2, 5))); + Assert.assertEquals(3, ImmutableSet.copyOf(cur.sstables(SSTableSet.NONCOMPACTING)).size()); // check marking already compacting readers fails with an exception testFailure(View.updateCompacting(emptySet(), readers.subList(0, 1)), cur); @@ -125,9 +127,10 @@ public class ViewTest testFailure(View.updateCompacting(copyOf(readers.subList(0, 2)), emptySet()), cur); Assert.assertTrue(copyOf(concat(readers.subList(0, 1), readers.subList(2, 5))).containsAll(copyOf(cur.getUncompacting(readers)))); Assert.assertEquals(4, copyOf(cur.getUncompacting(readers)).size()); - Assert.assertTrue(cur.nonCompactingSStables().containsAll(readers.subList(2, 5))); - Assert.assertTrue(cur.nonCompactingSStables().containsAll(readers.subList(0, 1))); - Assert.assertEquals(4, cur.nonCompactingSStables().size()); + Set<SSTableReader> nonCompacting = ImmutableSet.copyOf(cur.sstables(SSTableSet.NONCOMPACTING)); + Assert.assertTrue(nonCompacting.containsAll(readers.subList(2, 5))); + Assert.assertTrue(nonCompacting.containsAll(readers.subList(0, 1))); + Assert.assertEquals(4, nonCompacting.size()); } private static void testFailure(Function<View, ?> function, View view) @@ -207,6 +210,6 @@ public class ViewTest for (int i = 0 ; i < sstableCount ; i++) sstables.add(MockSchema.sstable(i, cfs)); return new View(ImmutableList.copyOf(memtables), Collections.<Memtable>emptyList(), Helpers.identityMap(sstables), - Collections.<SSTableReader>emptySet(), SSTableIntervalTree.build(sstables)); + Collections.<SSTableReader, SSTableReader>emptyMap(), SSTableIntervalTree.build(sstables)); } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/io/sstable/IndexSummaryManagerTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/io/sstable/IndexSummaryManagerTest.java b/test/unit/org/apache/cassandra/io/sstable/IndexSummaryManagerTest.java index 56d4b1f..5f11f51 100644 --- a/test/unit/org/apache/cassandra/io/sstable/IndexSummaryManagerTest.java +++ b/test/unit/org/apache/cassandra/io/sstable/IndexSummaryManagerTest.java @@ -195,7 +195,7 @@ public class IndexSummaryManagerTest throw new RuntimeException(e); } } - assertEquals(numSSTables, cfs.getSSTables().size()); + assertEquals(numSSTables, cfs.getLiveSSTables().size()); validateData(cfs, numPartition); } @@ -210,7 +210,7 @@ public class IndexSummaryManagerTest int numRows = 256; createSSTables(ksname, cfname, numSSTables, numRows); - List<SSTableReader> sstables = new ArrayList<>(cfs.getSSTables()); + List<SSTableReader> sstables = new ArrayList<>(cfs.getLiveSSTables()); for (SSTableReader sstable : sstables) sstable.overrideReadMeter(new RestorableMeter(100.0, 100.0)); @@ -220,7 +220,7 @@ public class IndexSummaryManagerTest // double the min_index_interval cfs.metadata.minIndexInterval(originalMinIndexInterval * 2); IndexSummaryManager.instance.redistributeSummaries(); - for (SSTableReader sstable : cfs.getSSTables()) + for (SSTableReader sstable : cfs.getLiveSSTables()) { assertEquals(cfs.metadata.getMinIndexInterval(), sstable.getEffectiveIndexInterval(), 0.001); assertEquals(numRows / cfs.metadata.getMinIndexInterval(), sstable.getIndexSummarySize()); @@ -229,7 +229,7 @@ public class IndexSummaryManagerTest // return min_index_interval to its original value cfs.metadata.minIndexInterval(originalMinIndexInterval); IndexSummaryManager.instance.redistributeSummaries(); - for (SSTableReader sstable : cfs.getSSTables()) + for (SSTableReader sstable : cfs.getLiveSSTables()) { assertEquals(cfs.metadata.getMinIndexInterval(), sstable.getEffectiveIndexInterval(), 0.001); assertEquals(numRows / cfs.metadata.getMinIndexInterval(), sstable.getIndexSummarySize()); @@ -238,14 +238,14 @@ public class IndexSummaryManagerTest // halve the min_index_interval, but constrain the available space to exactly what we have now; as a result, // the summary shouldn't change cfs.metadata.minIndexInterval(originalMinIndexInterval / 2); - SSTableReader sstable = cfs.getSSTables().iterator().next(); + SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); long summarySpace = sstable.getIndexSummaryOffHeapSize(); try (LifecycleTransaction txn = cfs.getTracker().tryModify(asList(sstable), OperationType.UNKNOWN)) { redistributeSummaries(Collections.EMPTY_LIST, of(cfs.metadata.cfId, txn), summarySpace); } - sstable = cfs.getSSTables().iterator().next(); + sstable = cfs.getLiveSSTables().iterator().next(); assertEquals(originalMinIndexInterval, sstable.getEffectiveIndexInterval(), 0.001); assertEquals(numRows / originalMinIndexInterval, sstable.getIndexSummarySize()); @@ -256,7 +256,7 @@ public class IndexSummaryManagerTest { redistributeSummaries(Collections.EMPTY_LIST, of(cfs.metadata.cfId, txn), (long) Math.ceil(summarySpace * 1.5)); } - sstable = cfs.getSSTables().iterator().next(); + sstable = cfs.getLiveSSTables().iterator().next(); assertEquals(previousSize * 1.5, (double) sstable.getIndexSummarySize(), 1); assertEquals(previousInterval * (1.0 / 1.5), sstable.getEffectiveIndexInterval(), 0.001); @@ -267,7 +267,7 @@ public class IndexSummaryManagerTest { redistributeSummaries(Collections.EMPTY_LIST, of(cfs.metadata.cfId, txn), (long) Math.ceil(summarySpace / 2.0)); } - sstable = cfs.getSSTables().iterator().next(); + sstable = cfs.getLiveSSTables().iterator().next(); assertEquals(originalMinIndexInterval * 2, sstable.getEffectiveIndexInterval(), 0.001); assertEquals(numRows / (originalMinIndexInterval * 2), sstable.getIndexSummarySize()); @@ -280,7 +280,7 @@ public class IndexSummaryManagerTest { redistributeSummaries(Collections.EMPTY_LIST, of(cfs.metadata.cfId, txn), 10); } - sstable = cfs.getSSTables().iterator().next(); + sstable = cfs.getLiveSSTables().iterator().next(); assertEquals(cfs.metadata.getMinIndexInterval(), sstable.getEffectiveIndexInterval(), 0.001); } @@ -295,7 +295,7 @@ public class IndexSummaryManagerTest int numRows = 256; createSSTables(ksname, cfname, numSSTables, numRows); - List<SSTableReader> sstables = new ArrayList<>(cfs.getSSTables()); + List<SSTableReader> sstables = new ArrayList<>(cfs.getLiveSSTables()); for (SSTableReader sstable : sstables) sstable.overrideReadMeter(new RestorableMeter(100.0, 100.0)); @@ -303,7 +303,7 @@ public class IndexSummaryManagerTest { redistributeSummaries(Collections.EMPTY_LIST, of(cfs.metadata.cfId, txn), 10); } - sstables = new ArrayList<>(cfs.getSSTables()); + sstables = new ArrayList<>(cfs.getLiveSSTables()); for (SSTableReader sstable : sstables) assertEquals(cfs.metadata.getMaxIndexInterval(), sstable.getEffectiveIndexInterval(), 0.01); @@ -313,7 +313,7 @@ public class IndexSummaryManagerTest { redistributeSummaries(Collections.EMPTY_LIST, of(cfs.metadata.cfId, txn), 1); } - sstables = new ArrayList<>(cfs.getSSTables()); + sstables = new ArrayList<>(cfs.getLiveSSTables()); for (SSTableReader sstable : sstables) { assertEquals(cfs.metadata.getMaxIndexInterval(), sstable.getEffectiveIndexInterval(), 0.01); @@ -326,7 +326,7 @@ public class IndexSummaryManagerTest { redistributeSummaries(Collections.EMPTY_LIST, of(cfs.metadata.cfId, txn), 1); } - for (SSTableReader sstable : cfs.getSSTables()) + for (SSTableReader sstable : cfs.getLiveSSTables()) { assertEquals(cfs.metadata.getMaxIndexInterval(), sstable.getEffectiveIndexInterval(), 0.01); assertEquals(numRows / cfs.metadata.getMaxIndexInterval(), sstable.getIndexSummarySize()); @@ -346,7 +346,7 @@ public class IndexSummaryManagerTest int minSamplingLevel = (BASE_SAMPLING_LEVEL * cfs.metadata.getMinIndexInterval()) / cfs.metadata.getMaxIndexInterval(); - List<SSTableReader> sstables = new ArrayList<>(cfs.getSSTables()); + List<SSTableReader> sstables = new ArrayList<>(cfs.getLiveSSTables()); for (SSTableReader sstable : sstables) sstable.overrideReadMeter(new RestorableMeter(100.0, 100.0)); @@ -509,7 +509,7 @@ public class IndexSummaryManagerTest cfs.forceBlockingFlush(); - List<SSTableReader> sstables = new ArrayList<>(cfs.getSSTables()); + List<SSTableReader> sstables = new ArrayList<>(cfs.getLiveSSTables()); assertEquals(1, sstables.size()); SSTableReader original = sstables.get(0); http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad8cad7c/test/unit/org/apache/cassandra/io/sstable/LegacySSTableTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/io/sstable/LegacySSTableTest.java b/test/unit/org/apache/cassandra/io/sstable/LegacySSTableTest.java index 860f1d1..7d97ec0 100644 --- a/test/unit/org/apache/cassandra/io/sstable/LegacySSTableTest.java +++ b/test/unit/org/apache/cassandra/io/sstable/LegacySSTableTest.java @@ -148,8 +148,8 @@ public class LegacySSTableTest .execute().get(); ColumnFamilyStore cfs = Keyspace.open(KSNAME).getColumnFamilyStore(CFNAME); - assert cfs.getSSTables().size() == 1; - sstable = cfs.getSSTables().iterator().next(); + assert cfs.getLiveSSTables().size() == 1; + sstable = cfs.getLiveSSTables().iterator().next(); for (String keystring : TEST_DATA) { ByteBuffer key = bytes(keystring);
