http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/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 b3f1f57..eccf671 100644 --- a/test/unit/org/apache/cassandra/db/compaction/CompactionsPurgeTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/CompactionsPurgeTest.java @@ -27,7 +27,7 @@ import org.junit.Test; import org.apache.cassandra.SchemaLoader; import org.apache.cassandra.Util; -import org.apache.cassandra.config.CFMetaData; +import org.apache.cassandra.cql3.statements.CreateTableStatement; import org.apache.cassandra.cql3.QueryProcessor; import org.apache.cassandra.cql3.UntypedResultSet; import org.apache.cassandra.db.*; @@ -59,23 +59,27 @@ public class CompactionsPurgeTest public static void defineSchema() throws ConfigurationException { SchemaLoader.prepareServer(); + SchemaLoader.createKeyspace(KEYSPACE1, KeyspaceParams.simple(1), SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1), SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD2)); + SchemaLoader.createKeyspace(KEYSPACE2, KeyspaceParams.simple(1), SchemaLoader.standardCFMD(KEYSPACE2, CF_STANDARD1)); + SchemaLoader.createKeyspace(KEYSPACE_CACHED, KeyspaceParams.simple(1), SchemaLoader.standardCFMD(KEYSPACE_CACHED, CF_CACHED).caching(CachingParams.CACHE_EVERYTHING)); + SchemaLoader.createKeyspace(KEYSPACE_CQL, KeyspaceParams.simple(1), - CFMetaData.compile("CREATE TABLE " + CF_CQL + " (" - + "k int PRIMARY KEY," - + "v1 text," - + "v2 int" - + ")", KEYSPACE_CQL)); + CreateTableStatement.parse("CREATE TABLE " + CF_CQL + " (" + + "k int PRIMARY KEY," + + "v1 text," + + "v2 int" + + ")", KEYSPACE_CQL)); } @Test @@ -92,7 +96,7 @@ public class CompactionsPurgeTest // inserts for (int i = 0; i < 10; i++) { - RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 0, key); + RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata(), 0, key); builder.clustering(String.valueOf(i)) .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build().applyUnsafe(); @@ -103,12 +107,12 @@ public class CompactionsPurgeTest // deletes for (int i = 0; i < 10; i++) { - RowUpdateBuilder.deleteRow(cfs.metadata, 1, key, String.valueOf(i)).applyUnsafe(); + RowUpdateBuilder.deleteRow(cfs.metadata(), 1, key, String.valueOf(i)).applyUnsafe(); } cfs.forceBlockingFlush(); // resurrect one column - RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 2, key); + RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata(), 2, key); builder.clustering(String.valueOf(5)) .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build().applyUnsafe(); @@ -137,7 +141,7 @@ public class CompactionsPurgeTest // inserts for (int i = 0; i < 10; i++) { - RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 0, key); + RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata(), 0, key); builder.clustering(String.valueOf(i)) .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build().applyUnsafe(); @@ -147,7 +151,7 @@ public class CompactionsPurgeTest // deletes for (int i = 0; i < 10; i++) { - RowUpdateBuilder.deleteRow(cfs.metadata, Long.MAX_VALUE, key, String.valueOf(i)).applyUnsafe(); + RowUpdateBuilder.deleteRow(cfs.metadata(), Long.MAX_VALUE, key, String.valueOf(i)).applyUnsafe(); } cfs.forceBlockingFlush(); @@ -155,7 +159,7 @@ public class CompactionsPurgeTest FBUtilities.waitOnFutures(CompactionManager.instance.submitMaximal(cfs, Integer.MAX_VALUE, false)); // resurrect one column - RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 2, key); + RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata(), 2, key); builder.clustering(String.valueOf(5)) .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build().applyUnsafe(); @@ -182,7 +186,7 @@ public class CompactionsPurgeTest // inserts for (int i = 0; i < 10; i++) { - RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 0, key); + RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata(), 0, key); builder.clustering(String.valueOf(i)) .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build().applyUnsafe(); @@ -190,7 +194,7 @@ public class CompactionsPurgeTest cfs.forceBlockingFlush(); new Mutation(KEYSPACE1, dk(key)) - .add(PartitionUpdate.fullPartitionDelete(cfs.metadata, dk(key), Long.MAX_VALUE, FBUtilities.nowInSeconds())) + .add(PartitionUpdate.fullPartitionDelete(cfs.metadata(), dk(key), Long.MAX_VALUE, FBUtilities.nowInSeconds())) .applyUnsafe(); cfs.forceBlockingFlush(); @@ -198,7 +202,7 @@ public class CompactionsPurgeTest FBUtilities.waitOnFutures(CompactionManager.instance.submitMaximal(cfs, Integer.MAX_VALUE, false)); // resurrect one column - RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 2, key); + RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata(), 2, key); builder.clustering(String.valueOf(5)) .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build().applyUnsafe(); @@ -225,14 +229,14 @@ public class CompactionsPurgeTest // inserts for (int i = 0; i < 10; i++) { - RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 0, key); + RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata(), 0, key); builder.clustering(String.valueOf(i)) .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build().applyUnsafe(); } cfs.forceBlockingFlush(); - new RowUpdateBuilder(cfs.metadata, Long.MAX_VALUE, dk(key)) + new RowUpdateBuilder(cfs.metadata(), Long.MAX_VALUE, dk(key)) .addRangeTombstone(String.valueOf(0), String.valueOf(9)).build().applyUnsafe(); cfs.forceBlockingFlush(); @@ -240,7 +244,7 @@ public class CompactionsPurgeTest FBUtilities.waitOnFutures(CompactionManager.instance.submitMaximal(cfs, Integer.MAX_VALUE, false)); // resurrect one column - RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 2, key); + RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata(), 2, key); builder.clustering(String.valueOf(5)) .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build().applyUnsafe(); @@ -268,7 +272,7 @@ public class CompactionsPurgeTest // inserts for (int i = 0; i < 10; i++) { - RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 0, key); + RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata(), 0, key); builder.clustering(String.valueOf(i)) .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build().applyUnsafe(); @@ -278,7 +282,7 @@ public class CompactionsPurgeTest // deletes for (int i = 0; i < 10; i++) { - RowUpdateBuilder.deleteRow(cfs.metadata, 1, key, String.valueOf(i)).applyUnsafe(); + RowUpdateBuilder.deleteRow(cfs.metadata(), 1, key, String.valueOf(i)).applyUnsafe(); } cfs.forceBlockingFlush(); @@ -292,7 +296,7 @@ public class CompactionsPurgeTest cfs.forceBlockingFlush(); Collection<SSTableReader> sstablesIncomplete = cfs.getLiveSSTables(); - RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 2, "key1"); + RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata(), 2, "key1"); builder.clustering(String.valueOf(5)) .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build().applyUnsafe(); @@ -326,25 +330,25 @@ public class CompactionsPurgeTest String key3 = "key3"; // inserts - new RowUpdateBuilder(cfs.metadata, 8, key3) + new RowUpdateBuilder(cfs.metadata(), 8, key3) .clustering("c1") .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build().applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, 8, key3) + new RowUpdateBuilder(cfs.metadata(), 8, key3) .clustering("c2") .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build().applyUnsafe(); cfs.forceBlockingFlush(); // delete c1 - RowUpdateBuilder.deleteRow(cfs.metadata, 10, key3, "c1").applyUnsafe(); + RowUpdateBuilder.deleteRow(cfs.metadata(), 10, key3, "c1").applyUnsafe(); cfs.forceBlockingFlush(); Collection<SSTableReader> sstablesIncomplete = cfs.getLiveSSTables(); // delete c2 so we have new delete in a diffrent SSTable - RowUpdateBuilder.deleteRow(cfs.metadata, 9, key3, "c2").applyUnsafe(); + RowUpdateBuilder.deleteRow(cfs.metadata(), 9, key3, "c2").applyUnsafe(); cfs.forceBlockingFlush(); // compact the sstables with the c1/c2 data and the c1 tombstone @@ -374,7 +378,7 @@ public class CompactionsPurgeTest // inserts for (int i = 0; i < 5; i++) { - RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 0, key); + RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata(), 0, key); builder.clustering(String.valueOf(i)) .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build().applyUnsafe(); @@ -383,7 +387,7 @@ public class CompactionsPurgeTest // deletes for (int i = 0; i < 5; i++) { - RowUpdateBuilder.deleteRow(cfs.metadata, 1, key, String.valueOf(i)).applyUnsafe(); + RowUpdateBuilder.deleteRow(cfs.metadata(), 1, key, String.valueOf(i)).applyUnsafe(); } cfs.forceBlockingFlush(); assertEquals(String.valueOf(cfs.getLiveSSTables()), 1, cfs.getLiveSSTables().size()); // inserts & deletes were in the same memtable -> only deletes in sstable @@ -411,7 +415,7 @@ public class CompactionsPurgeTest // inserts for (int i = 0; i < 10; i++) { - RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 0, key); + RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata(), 0, key); builder.clustering(String.valueOf(i)) .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build().applyUnsafe(); @@ -419,12 +423,12 @@ public class CompactionsPurgeTest // deletes partition Mutation rm = new Mutation(KEYSPACE_CACHED, dk(key)); - rm.add(PartitionUpdate.fullPartitionDelete(cfs.metadata, dk(key), 1, FBUtilities.nowInSeconds())); + rm.add(PartitionUpdate.fullPartitionDelete(cfs.metadata(), dk(key), 1, FBUtilities.nowInSeconds())); rm.applyUnsafe(); // Adds another unrelated partition so that the sstable is not considered fully expired. We do not // invalidate the row cache in that latter case. - new RowUpdateBuilder(cfs.metadata, 0, "key4").clustering("c").add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER).build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), 0, "key4").clustering("c").add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER).build().applyUnsafe(); // move the key up in row cache (it should not be empty since we have the partition deletion info) assertFalse(Util.getOnlyPartitionUnfiltered(Util.cmd(cfs, key).build()).isEmpty()); @@ -451,7 +455,7 @@ public class CompactionsPurgeTest // inserts for (int i = 0; i < 10; i++) { - RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, i, key); + RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata(), i, key); builder.clustering(String.valueOf(i)) .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build().applyUnsafe(); @@ -459,7 +463,7 @@ public class CompactionsPurgeTest // deletes partition with timestamp such that not all columns are deleted Mutation rm = new Mutation(KEYSPACE1, dk(key)); - rm.add(PartitionUpdate.fullPartitionDelete(cfs.metadata, dk(key), 4, FBUtilities.nowInSeconds())); + rm.add(PartitionUpdate.fullPartitionDelete(cfs.metadata(), dk(key), 4, FBUtilities.nowInSeconds())); rm.applyUnsafe(); ImmutableBTreePartition partition = Util.getOnlyPartitionUnfiltered(Util.cmd(cfs, key).build()); @@ -473,7 +477,7 @@ public class CompactionsPurgeTest // re-inserts with timestamp lower than delete for (int i = 0; i < 5; i++) { - RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, i, key); + RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata(), i, key); builder.clustering(String.valueOf(i)) .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build().applyUnsafe();
http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/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 47dc7f6..feea50a 100644 --- a/test/unit/org/apache/cassandra/db/compaction/CompactionsTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/CompactionsTest.java @@ -29,7 +29,7 @@ import org.junit.runner.RunWith; import org.apache.cassandra.OrderedJUnit4ClassRunner; import org.apache.cassandra.SchemaLoader; import org.apache.cassandra.Util; -import org.apache.cassandra.config.CFMetaData; +import org.apache.cassandra.schema.TableMetadata; import org.apache.cassandra.db.*; import org.apache.cassandra.db.marshal.AsciiType; import org.apache.cassandra.exceptions.ConfigurationException; @@ -37,6 +37,7 @@ import org.apache.cassandra.dht.*; import org.apache.cassandra.io.sstable.format.SSTableReader; import org.apache.cassandra.schema.CompactionParams; import org.apache.cassandra.schema.KeyspaceParams; +import org.apache.cassandra.schema.MigrationManager; import org.apache.cassandra.utils.ByteBufferUtil; import org.apache.cassandra.utils.FBUtilities; @@ -82,7 +83,7 @@ public class CompactionsTest Keyspace keyspace = Keyspace.open(KEYSPACE1); ColumnFamilyStore store = keyspace.getColumnFamilyStore(CF_DENSE1); store.clearUnsafe(); - store.metadata.gcGraceSeconds(1); + MigrationManager.announceTableUpdate(store.metadata().unbuild().gcGraceSeconds(1).build(), true); // disable compaction while flushing store.disableAutoCompaction(); @@ -118,7 +119,7 @@ public class CompactionsTest public static long populate(String ks, String cf, int startRowKey, int endRowKey, int ttl) { long timestamp = System.currentTimeMillis(); - CFMetaData cfm = Keyspace.open(ks).getColumnFamilyStore(cf).metadata; + TableMetadata cfm = Keyspace.open(ks).getColumnFamilyStore(cf).metadata(); for (int i = startRowKey; i <= endRowKey; i++) { DecoratedKey key = Util.dk(Integer.toString(i)); @@ -156,21 +157,21 @@ public class CompactionsTest { Keyspace keyspace = Keyspace.open(KEYSPACE1); ColumnFamilyStore cfs = keyspace.getColumnFamilyStore("Super1"); - CFMetaData cfm = cfs.metadata; + CFMetaData table = cfs.metadata; cfs.disableAutoCompaction(); DecoratedKey key = Util.dk("tskey"); ByteBuffer scName = ByteBufferUtil.bytes("TestSuperColumn"); // a subcolumn - new RowUpdateBuilder(cfm, FBUtilities.timestampMicros(), key.getKey()) + new RowUpdateBuilder(table, FBUtilities.timestampMicros(), key.getKey()) .clustering(ByteBufferUtil.bytes("cols")) .add("val", "val1") .build().applyUnsafe(); cfs.forceBlockingFlush(); // shadow the subcolumn with a supercolumn tombstone - RowUpdateBuilder.deleteRow(cfm, FBUtilities.timestampMicros(), key.getKey(), ByteBufferUtil.bytes("cols")).applyUnsafe(); + RowUpdateBuilder.deleteRow(table, FBUtilities.timestampMicros(), key.getKey(), ByteBufferUtil.bytes("cols")).applyUnsafe(); cfs.forceBlockingFlush(); CompactionManager.instance.performMaximal(cfs); @@ -543,7 +544,7 @@ public class CompactionsTest { long timestamp = System.currentTimeMillis(); DecoratedKey dk = Util.dk(String.format("%03d", key)); - new RowUpdateBuilder(Keyspace.open(KEYSPACE1).getColumnFamilyStore(CF_STANDARD1).metadata, timestamp, dk.getKey()) + new RowUpdateBuilder(Keyspace.open(KEYSPACE1).getColumnFamilyStore(CF_STANDARD1).metadata(), timestamp, dk.getKey()) .add("val", "val") .build() .applyUnsafe(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/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 5f470b7..e4cd37b 100644 --- a/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java @@ -223,7 +223,7 @@ public class DateTieredCompactionStrategyTest extends SchemaLoader for (int r = 0; r < numSSTables; r++) { DecoratedKey key = Util.dk(String.valueOf(r)); - new RowUpdateBuilder(cfs.metadata, r, key.getKey()) + new RowUpdateBuilder(cfs.metadata(), r, key.getKey()) .clustering("column") .add("val", value).build().applyUnsafe(); @@ -259,7 +259,7 @@ public class DateTieredCompactionStrategyTest extends SchemaLoader for (int r = 0; r < numSSTables; r++) { DecoratedKey key = Util.dk(String.valueOf(r)); - new RowUpdateBuilder(cfs.metadata, r, key.getKey()) + new RowUpdateBuilder(cfs.metadata(), r, key.getKey()) .clustering("column") .add("val", value).build().applyUnsafe(); @@ -296,7 +296,7 @@ public class DateTieredCompactionStrategyTest extends SchemaLoader // create 2 sstables DecoratedKey key = Util.dk(String.valueOf("expired")); - new RowUpdateBuilder(cfs.metadata, System.currentTimeMillis(), 1, key.getKey()) + new RowUpdateBuilder(cfs.metadata(), System.currentTimeMillis(), 1, key.getKey()) .clustering("column") .add("val", value).build().applyUnsafe(); @@ -305,7 +305,7 @@ public class DateTieredCompactionStrategyTest extends SchemaLoader Thread.sleep(10); key = Util.dk(String.valueOf("nonexpired")); - new RowUpdateBuilder(cfs.metadata, System.currentTimeMillis(), key.getKey()) + new RowUpdateBuilder(cfs.metadata(), System.currentTimeMillis(), key.getKey()) .clustering("column") .add("val", value).build().applyUnsafe(); @@ -349,7 +349,7 @@ public class DateTieredCompactionStrategyTest extends SchemaLoader for (int i = 0; i < 10; i++) { DecoratedKey key = Util.dk(String.valueOf(r)); - new RowUpdateBuilder(cfs.metadata, timestamp, key.getKey()) + new RowUpdateBuilder(cfs.metadata(), timestamp, key.getKey()) .clustering("column") .add("val", bigValue).build().applyUnsafe(); } @@ -359,7 +359,7 @@ public class DateTieredCompactionStrategyTest extends SchemaLoader for (int r = 0; r < numSSTables / 2; r++) { DecoratedKey key = Util.dk(String.valueOf(r)); - new RowUpdateBuilder(cfs.metadata, timestamp, key.getKey()) + new RowUpdateBuilder(cfs.metadata(), timestamp, key.getKey()) .clustering("column") .add("val", value).build().applyUnsafe(); cfs.forceBlockingFlush(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/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 12144eb..9a8371e 100644 --- a/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java @@ -117,7 +117,7 @@ public class LeveledCompactionStrategyTest // Adds enough data to trigger multiple sstable per level for (int r = 0; r < rows; r++) { - UpdateBuilder update = UpdateBuilder.create(cfs.metadata, String.valueOf(r)); + UpdateBuilder update = UpdateBuilder.create(cfs.metadata(), String.valueOf(r)); for (int c = 0; c < columns; c++) update.newRow("column" + c).add("val", value); update.applyUnsafe(); @@ -173,7 +173,7 @@ public class LeveledCompactionStrategyTest // Adds enough data to trigger multiple sstable per level for (int r = 0; r < rows; r++) { - UpdateBuilder update = UpdateBuilder.create(cfs.metadata, String.valueOf(r)); + UpdateBuilder update = UpdateBuilder.create(cfs.metadata(), String.valueOf(r)); for (int c = 0; c < columns; c++) update.newRow("column" + c).add("val", value); update.applyUnsafe(); @@ -239,7 +239,7 @@ public class LeveledCompactionStrategyTest int columns = 10; for (int r = 0; r < rows; r++) { - UpdateBuilder update = UpdateBuilder.create(cfs.metadata, String.valueOf(r)); + UpdateBuilder update = UpdateBuilder.create(cfs.metadata(), String.valueOf(r)); for (int c = 0; c < columns; c++) update.newRow("column" + c).add("val", value); update.applyUnsafe(); @@ -276,7 +276,7 @@ public class LeveledCompactionStrategyTest // Adds enough data to trigger multiple sstable per level for (int r = 0; r < rows; r++) { - UpdateBuilder update = UpdateBuilder.create(cfs.metadata, String.valueOf(r)); + UpdateBuilder update = UpdateBuilder.create(cfs.metadata(), String.valueOf(r)); for (int c = 0; c < columns; c++) update.newRow("column" + c).add("val", value); update.applyUnsafe(); @@ -317,7 +317,7 @@ public class LeveledCompactionStrategyTest // Adds enough data to trigger multiple sstable per level for (int r = 0; r < rows; r++) { - UpdateBuilder update = UpdateBuilder.create(cfs.metadata, String.valueOf(r)); + UpdateBuilder update = UpdateBuilder.create(cfs.metadata(), String.valueOf(r)); for (int c = 0; c < columns; c++) update.newRow("column" + c).add("val", value); update.applyUnsafe(); @@ -395,7 +395,7 @@ public class LeveledCompactionStrategyTest // create 10 sstables that contain data for both key1 and key2 for (int i = 0; i < numIterations; i++) { for (DecoratedKey key : keys) { - UpdateBuilder update = UpdateBuilder.create(cfs.metadata, key); + UpdateBuilder update = UpdateBuilder.create(cfs.metadata(), key); for (int c = 0; c < columns; c++) update.newRow("column" + c).add("val", value); update.applyUnsafe(); @@ -406,7 +406,7 @@ public class LeveledCompactionStrategyTest // create 20 more sstables with 10 containing data for key1 and other 10 containing data for key2 for (int i = 0; i < numIterations; i++) { for (DecoratedKey key : keys) { - UpdateBuilder update = UpdateBuilder.create(cfs.metadata, key); + UpdateBuilder update = UpdateBuilder.create(cfs.metadata(), key); for (int c = 0; c < columns; c++) update.newRow("column" + c).add("val", value); update.applyUnsafe(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/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 f55bf52..0c469dc 100644 --- a/test/unit/org/apache/cassandra/db/compaction/OneCompactionTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/OneCompactionTest.java @@ -64,7 +64,7 @@ public class OneCompactionTest Set<String> inserted = new HashSet<>(); for (int j = 0; j < insertsPerTable; j++) { String key = String.valueOf(j); - new RowUpdateBuilder(store.metadata, j, key) + new RowUpdateBuilder(store.metadata(), j, key) .clustering("0") .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build() http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/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 f4dbea8..7c86f87 100644 --- a/test/unit/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategyTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategyTest.java @@ -158,7 +158,7 @@ public class SizeTieredCompactionStrategyTest for (int r = 0; r < numSSTables; r++) { String key = String.valueOf(r); - new RowUpdateBuilder(cfs.metadata, 0, key) + new RowUpdateBuilder(cfs.metadata(), 0, key) .clustering("column").add("val", value) .build().applyUnsafe(); cfs.forceBlockingFlush(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/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 55bff5e..6e4ba0b 100644 --- a/test/unit/org/apache/cassandra/db/compaction/TTLExpiryTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/TTLExpiryTest.java @@ -31,7 +31,7 @@ import org.junit.runner.RunWith; import org.apache.cassandra.OrderedJUnit4ClassRunner; import org.apache.cassandra.SchemaLoader; import org.apache.cassandra.Util; -import org.apache.cassandra.config.CFMetaData; +import org.apache.cassandra.schema.TableMetadata; import org.apache.cassandra.db.*; import org.apache.cassandra.db.filter.ColumnFilter; import org.apache.cassandra.db.lifecycle.SSTableSet; @@ -41,6 +41,7 @@ import org.apache.cassandra.io.sstable.format.SSTableReader; import org.apache.cassandra.exceptions.ConfigurationException; import org.apache.cassandra.io.sstable.ISSTableScanner; import org.apache.cassandra.schema.KeyspaceParams; +import org.apache.cassandra.schema.MigrationManager; import org.apache.cassandra.tools.SSTableExpiredBlockers; import org.apache.cassandra.utils.ByteBufferUtil; @@ -59,17 +60,17 @@ public class TTLExpiryTest SchemaLoader.prepareServer(); SchemaLoader.createKeyspace(KEYSPACE1, KeyspaceParams.simple(1), - CFMetaData.Builder.create(KEYSPACE1, CF_STANDARD1) - .addPartitionKey("pKey", AsciiType.instance) - .addRegularColumn("col1", AsciiType.instance) - .addRegularColumn("col", AsciiType.instance) - .addRegularColumn("col311", AsciiType.instance) - .addRegularColumn("col2", AsciiType.instance) - .addRegularColumn("col3", AsciiType.instance) - .addRegularColumn("col7", AsciiType.instance) - .addRegularColumn("col8", MapType.getInstance(AsciiType.instance, AsciiType.instance, true)) - .addRegularColumn("shadow", AsciiType.instance) - .build().gcGraceSeconds(0)); + TableMetadata.builder(KEYSPACE1, CF_STANDARD1) + .addPartitionKeyColumn("pKey", AsciiType.instance) + .addRegularColumn("col1", AsciiType.instance) + .addRegularColumn("col", AsciiType.instance) + .addRegularColumn("col311", AsciiType.instance) + .addRegularColumn("col2", AsciiType.instance) + .addRegularColumn("col3", AsciiType.instance) + .addRegularColumn("col7", AsciiType.instance) + .addRegularColumn("col8", MapType.getInstance(AsciiType.instance, AsciiType.instance, true)) + .addRegularColumn("shadow", AsciiType.instance) + .gcGraceSeconds(0)); } @Test @@ -77,36 +78,36 @@ public class TTLExpiryTest { ColumnFamilyStore cfs = Keyspace.open(KEYSPACE1).getColumnFamilyStore("Standard1"); cfs.disableAutoCompaction(); - cfs.metadata.gcGraceSeconds(0); + MigrationManager.announceTableUpdate(cfs.metadata().unbuild().gcGraceSeconds(0).build(), true); String key = "ttl"; - new RowUpdateBuilder(cfs.metadata, 1L, 1, key) + new RowUpdateBuilder(cfs.metadata(), 1L, 1, key) .add("col1", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build() .applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, 3L, 1, key) + new RowUpdateBuilder(cfs.metadata(), 3L, 1, key) .add("col2", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build() .applyUnsafe(); cfs.forceBlockingFlush(); - new RowUpdateBuilder(cfs.metadata, 2L, 1, key) + new RowUpdateBuilder(cfs.metadata(), 2L, 1, key) .add("col1", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build() .applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, 5L, 1, key) + new RowUpdateBuilder(cfs.metadata(), 5L, 1, key) .add("col2", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build() .applyUnsafe(); cfs.forceBlockingFlush(); - new RowUpdateBuilder(cfs.metadata, 4L, 1, key) + new RowUpdateBuilder(cfs.metadata(), 4L, 1, key) .add("col1", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build() .applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, 7L, 1, key) + new RowUpdateBuilder(cfs.metadata(), 7L, 1, key) .add("shadow", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build() .applyUnsafe(); @@ -114,12 +115,12 @@ public class TTLExpiryTest cfs.forceBlockingFlush(); - new RowUpdateBuilder(cfs.metadata, 6L, 3, key) + new RowUpdateBuilder(cfs.metadata(), 6L, 3, key) .add("shadow", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build() .applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, 8L, 1, key) + new RowUpdateBuilder(cfs.metadata(), 8L, 1, key) .add("col2", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build() .applyUnsafe(); @@ -158,10 +159,10 @@ public class TTLExpiryTest cfs.truncateBlocking(); cfs.disableAutoCompaction(); // To reproduce #10944, we need our gcBefore to be equal to the locaDeletionTime. A gcGrace of 1 will (almost always) give us that. - cfs.metadata.gcGraceSeconds(force10944Bug ? 1 : 0); + MigrationManager.announceTableUpdate(cfs.metadata().unbuild().gcGraceSeconds(force10944Bug ? 1 : 0).build(), true); long timestamp = System.currentTimeMillis(); String key = "ttl"; - new RowUpdateBuilder(cfs.metadata, timestamp, 1, key) + new RowUpdateBuilder(cfs.metadata(), timestamp, 1, key) .add("col", ByteBufferUtil.EMPTY_BYTE_BUFFER) .add("col7", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build() @@ -169,7 +170,7 @@ public class TTLExpiryTest cfs.forceBlockingFlush(); - new RowUpdateBuilder(cfs.metadata, timestamp, 1, key) + new RowUpdateBuilder(cfs.metadata(), timestamp, 1, key) .add("col2", ByteBufferUtil.EMPTY_BYTE_BUFFER) .add("col8", Collections.singletonMap("bar", "foo")) .delete("col1") @@ -180,14 +181,14 @@ public class TTLExpiryTest cfs.forceBlockingFlush(); // To reproduce #10944, we need to avoid the optimization that get rid of full sstable because everything // is known to be gcAble, so keep some data non-expiring in that case. - new RowUpdateBuilder(cfs.metadata, timestamp, force10944Bug ? 0 : 1, key) + new RowUpdateBuilder(cfs.metadata(), timestamp, force10944Bug ? 0 : 1, key) .add("col3", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build() .applyUnsafe(); cfs.forceBlockingFlush(); - new RowUpdateBuilder(cfs.metadata, timestamp, 1, key) + new RowUpdateBuilder(cfs.metadata(), timestamp, 1, key) .add("col311", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build() .applyUnsafe(); @@ -206,28 +207,28 @@ public class TTLExpiryTest ColumnFamilyStore cfs = Keyspace.open(KEYSPACE1).getColumnFamilyStore("Standard1"); cfs.truncateBlocking(); cfs.disableAutoCompaction(); - cfs.metadata.gcGraceSeconds(0); + MigrationManager.announceTableUpdate(cfs.metadata().unbuild().gcGraceSeconds(0).build(), true); long timestamp = System.currentTimeMillis(); String key = "ttl"; - new RowUpdateBuilder(cfs.metadata, timestamp, 1, key) + new RowUpdateBuilder(cfs.metadata(), timestamp, 1, key) .add("col", ByteBufferUtil.EMPTY_BYTE_BUFFER) .add("col7", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build() .applyUnsafe(); cfs.forceBlockingFlush(); - new RowUpdateBuilder(cfs.metadata, timestamp, 1, key) + new RowUpdateBuilder(cfs.metadata(), timestamp, 1, key) .add("col2", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build() .applyUnsafe(); cfs.forceBlockingFlush(); - new RowUpdateBuilder(cfs.metadata, timestamp, 1, key) + new RowUpdateBuilder(cfs.metadata(), timestamp, 1, key) .add("col3", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build() .applyUnsafe(); cfs.forceBlockingFlush(); String noTTLKey = "nottl"; - new RowUpdateBuilder(cfs.metadata, timestamp, noTTLKey) + new RowUpdateBuilder(cfs.metadata(), timestamp, noTTLKey) .add("col311", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build() .applyUnsafe(); @@ -238,7 +239,7 @@ public class TTLExpiryTest cfs.enableAutoCompaction(true); assertEquals(1, cfs.getLiveSSTables().size()); SSTableReader sstable = cfs.getLiveSSTables().iterator().next(); - ISSTableScanner scanner = sstable.getScanner(ColumnFilter.all(sstable.metadata), DataRange.allData(cfs.getPartitioner())); + ISSTableScanner scanner = sstable.getScanner(ColumnFilter.all(cfs.metadata()), DataRange.allData(cfs.getPartitioner())); assertTrue(scanner.hasNext()); while(scanner.hasNext()) { @@ -254,9 +255,9 @@ public class TTLExpiryTest ColumnFamilyStore cfs = Keyspace.open(KEYSPACE1).getColumnFamilyStore("Standard1"); cfs.truncateBlocking(); cfs.disableAutoCompaction(); - cfs.metadata.gcGraceSeconds(0); + MigrationManager.announceTableUpdate(cfs.metadata().unbuild().gcGraceSeconds(0).build(), true); - new RowUpdateBuilder(cfs.metadata, System.currentTimeMillis(), "test") + new RowUpdateBuilder(cfs.metadata(), System.currentTimeMillis(), "test") .noRowMarker() .add("col1", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build() @@ -266,7 +267,7 @@ public class TTLExpiryTest SSTableReader blockingSSTable = cfs.getSSTables(SSTableSet.LIVE).iterator().next(); for (int i = 0; i < 10; i++) { - new RowUpdateBuilder(cfs.metadata, System.currentTimeMillis(), "test") + new RowUpdateBuilder(cfs.metadata(), System.currentTimeMillis(), "test") .noRowMarker() .delete("col1") .build() http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/db/compaction/TimeWindowCompactionStrategyTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/compaction/TimeWindowCompactionStrategyTest.java b/test/unit/org/apache/cassandra/db/compaction/TimeWindowCompactionStrategyTest.java index 5041b31..930fc79 100644 --- a/test/unit/org/apache/cassandra/db/compaction/TimeWindowCompactionStrategyTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/TimeWindowCompactionStrategyTest.java @@ -148,7 +148,7 @@ public class TimeWindowCompactionStrategyTest extends SchemaLoader for (int r = 0; r < 3; r++) { DecoratedKey key = Util.dk(String.valueOf(r)); - new RowUpdateBuilder(cfs.metadata, r, key.getKey()) + new RowUpdateBuilder(cfs.metadata(), r, key.getKey()) .clustering("column") .add("val", value).build().applyUnsafe(); @@ -159,7 +159,7 @@ public class TimeWindowCompactionStrategyTest extends SchemaLoader { // And add progressively more cells into each sstable DecoratedKey key = Util.dk(String.valueOf(r)); - new RowUpdateBuilder(cfs.metadata, r, key.getKey()) + new RowUpdateBuilder(cfs.metadata(), r, key.getKey()) .clustering("column") .add("val", value).build().applyUnsafe(); cfs.forceBlockingFlush(); @@ -200,7 +200,7 @@ public class TimeWindowCompactionStrategyTest extends SchemaLoader DecoratedKey key = Util.dk(String.valueOf(r)); for(int i = 0 ; i < r ; i++) { - new RowUpdateBuilder(cfs.metadata, tstamp + r, key.getKey()) + new RowUpdateBuilder(cfs.metadata(), tstamp + r, key.getKey()) .clustering("column") .add("val", value).build().applyUnsafe(); } @@ -232,7 +232,7 @@ public class TimeWindowCompactionStrategyTest extends SchemaLoader // create 2 sstables DecoratedKey key = Util.dk(String.valueOf("expired")); - new RowUpdateBuilder(cfs.metadata, System.currentTimeMillis(), 1, key.getKey()) + new RowUpdateBuilder(cfs.metadata(), System.currentTimeMillis(), 1, key.getKey()) .clustering("column") .add("val", value).build().applyUnsafe(); @@ -241,7 +241,7 @@ public class TimeWindowCompactionStrategyTest extends SchemaLoader Thread.sleep(10); key = Util.dk(String.valueOf("nonexpired")); - new RowUpdateBuilder(cfs.metadata, System.currentTimeMillis(), key.getKey()) + new RowUpdateBuilder(cfs.metadata(), System.currentTimeMillis(), key.getKey()) .clustering("column") .add("val", value).build().applyUnsafe(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/db/lifecycle/HelpersTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/lifecycle/HelpersTest.java b/test/unit/org/apache/cassandra/db/lifecycle/HelpersTest.java index 1db7944..7e1540a 100644 --- a/test/unit/org/apache/cassandra/db/lifecycle/HelpersTest.java +++ b/test/unit/org/apache/cassandra/db/lifecycle/HelpersTest.java @@ -31,11 +31,11 @@ import org.junit.BeforeClass; import org.junit.Test; import junit.framework.Assert; -import org.apache.cassandra.MockSchema; import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.db.ColumnFamilyStore; import org.apache.cassandra.db.compaction.OperationType; import org.apache.cassandra.io.sstable.format.SSTableReader; +import org.apache.cassandra.schema.MockSchema; import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertNotNull; http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/db/lifecycle/LifecycleTransactionTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/lifecycle/LifecycleTransactionTest.java b/test/unit/org/apache/cassandra/db/lifecycle/LifecycleTransactionTest.java index 4514b72..0cc5b72 100644 --- a/test/unit/org/apache/cassandra/db/lifecycle/LifecycleTransactionTest.java +++ b/test/unit/org/apache/cassandra/db/lifecycle/LifecycleTransactionTest.java @@ -28,15 +28,15 @@ import org.junit.BeforeClass; import org.junit.Test; import junit.framework.Assert; -import org.apache.cassandra.MockSchema; import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.db.ColumnFamilyStore; import org.apache.cassandra.db.Memtable; import org.apache.cassandra.db.commitlog.CommitLogPosition; import org.apache.cassandra.db.compaction.OperationType; -import org.apache.cassandra.db.lifecycle.LifecycleTransaction.ReaderState; import org.apache.cassandra.db.lifecycle.LifecycleTransaction.ReaderState.Action; +import org.apache.cassandra.db.lifecycle.LifecycleTransaction.ReaderState; import org.apache.cassandra.io.sstable.format.SSTableReader; +import org.apache.cassandra.schema.MockSchema; import org.apache.cassandra.utils.Pair; import org.apache.cassandra.utils.concurrent.AbstractTransactionalTest; import org.apache.cassandra.utils.concurrent.Transactional.AbstractTransactional.State; http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/db/lifecycle/LogTransactionTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/lifecycle/LogTransactionTest.java b/test/unit/org/apache/cassandra/db/lifecycle/LogTransactionTest.java index dd3f370..2021538 100644 --- a/test/unit/org/apache/cassandra/db/lifecycle/LogTransactionTest.java +++ b/test/unit/org/apache/cassandra/db/lifecycle/LogTransactionTest.java @@ -32,15 +32,8 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Sets; import org.junit.BeforeClass; import org.junit.Test; - -import static junit.framework.Assert.assertNotNull; -import static junit.framework.Assert.assertNull; -import static junit.framework.Assert.fail; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; import junit.framework.Assert; -import org.apache.cassandra.MockSchema; + import org.apache.cassandra.db.ColumnFamilyStore; import org.apache.cassandra.db.Directories; import org.apache.cassandra.db.SerializationHeader; @@ -51,12 +44,20 @@ import org.apache.cassandra.io.sstable.format.SSTableReader; import org.apache.cassandra.io.sstable.metadata.MetadataCollector; import org.apache.cassandra.io.sstable.metadata.MetadataType; import org.apache.cassandra.io.sstable.metadata.StatsMetadata; -import org.apache.cassandra.io.util.FileUtils; import org.apache.cassandra.io.util.FileHandle; +import org.apache.cassandra.io.util.FileUtils; +import org.apache.cassandra.schema.MockSchema; import org.apache.cassandra.utils.AlwaysPresentFilter; import org.apache.cassandra.utils.concurrent.AbstractTransactionalTest; import org.apache.cassandra.utils.concurrent.Transactional; +import static junit.framework.Assert.assertNotNull; +import static junit.framework.Assert.assertNull; +import static junit.framework.Assert.fail; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + public class LogTransactionTest extends AbstractTransactionalTest { private static final String KEYSPACE = "TransactionLogsTest"; @@ -89,7 +90,7 @@ public class LogTransactionTest extends AbstractTransactionalTest { this.cfs = cfs; this.txnLogs = txnLogs; - this.dataFolder = new Directories(cfs.metadata).getDirectoryForNewSSTables(); + this.dataFolder = new Directories(cfs.metadata()).getDirectoryForNewSSTables(); this.sstableOld = sstable(dataFolder, cfs, 0, 128); this.sstableNew = sstable(dataFolder, cfs, 1, 128); @@ -201,7 +202,7 @@ public class LogTransactionTest extends AbstractTransactionalTest public void testUntrack() throws Throwable { ColumnFamilyStore cfs = MockSchema.newCFS(KEYSPACE); - File dataFolder = new Directories(cfs.metadata).getDirectoryForNewSSTables(); + File dataFolder = new Directories(cfs.metadata()).getDirectoryForNewSSTables(); SSTableReader sstableNew = sstable(dataFolder, cfs, 1, 128); // complete a transaction without keep the new files since they were untracked @@ -224,7 +225,7 @@ public class LogTransactionTest extends AbstractTransactionalTest public void testCommitSameDesc() throws Throwable { ColumnFamilyStore cfs = MockSchema.newCFS(KEYSPACE); - File dataFolder = new Directories(cfs.metadata).getDirectoryForNewSSTables(); + File dataFolder = new Directories(cfs.metadata()).getDirectoryForNewSSTables(); SSTableReader sstableOld1 = sstable(dataFolder, cfs, 0, 128); SSTableReader sstableOld2 = sstable(dataFolder, cfs, 0, 256); SSTableReader sstableNew = sstable(dataFolder, cfs, 1, 128); @@ -255,7 +256,7 @@ public class LogTransactionTest extends AbstractTransactionalTest public void testCommitOnlyNew() throws Throwable { ColumnFamilyStore cfs = MockSchema.newCFS(KEYSPACE); - File dataFolder = new Directories(cfs.metadata).getDirectoryForNewSSTables(); + File dataFolder = new Directories(cfs.metadata()).getDirectoryForNewSSTables(); SSTableReader sstable = sstable(dataFolder, cfs, 0, 128); LogTransaction log = new LogTransaction(OperationType.COMPACTION); @@ -273,7 +274,7 @@ public class LogTransactionTest extends AbstractTransactionalTest public void testCommitOnlyOld() throws Throwable { ColumnFamilyStore cfs = MockSchema.newCFS(KEYSPACE); - File dataFolder = new Directories(cfs.metadata).getDirectoryForNewSSTables(); + File dataFolder = new Directories(cfs.metadata()).getDirectoryForNewSSTables(); SSTableReader sstable = sstable(dataFolder, cfs, 0, 128); LogTransaction log = new LogTransaction(OperationType.COMPACTION); @@ -294,7 +295,7 @@ public class LogTransactionTest extends AbstractTransactionalTest { ColumnFamilyStore cfs = MockSchema.newCFS(KEYSPACE); - File origiFolder = new Directories(cfs.metadata).getDirectoryForNewSSTables(); + File origiFolder = new Directories(cfs.metadata()).getDirectoryForNewSSTables(); File dataFolder1 = new File(origiFolder, "1"); File dataFolder2 = new File(origiFolder, "2"); Files.createDirectories(dataFolder1.toPath()); @@ -330,7 +331,7 @@ public class LogTransactionTest extends AbstractTransactionalTest public void testAbortOnlyNew() throws Throwable { ColumnFamilyStore cfs = MockSchema.newCFS(KEYSPACE); - File dataFolder = new Directories(cfs.metadata).getDirectoryForNewSSTables(); + File dataFolder = new Directories(cfs.metadata()).getDirectoryForNewSSTables(); SSTableReader sstable = sstable(dataFolder, cfs, 0, 128); LogTransaction log = new LogTransaction(OperationType.COMPACTION); @@ -348,7 +349,7 @@ public class LogTransactionTest extends AbstractTransactionalTest public void testAbortOnlyOld() throws Throwable { ColumnFamilyStore cfs = MockSchema.newCFS(KEYSPACE); - File dataFolder = new Directories(cfs.metadata).getDirectoryForNewSSTables(); + File dataFolder = new Directories(cfs.metadata()).getDirectoryForNewSSTables(); SSTableReader sstable = sstable(dataFolder, cfs, 0, 128); LogTransaction log = new LogTransaction(OperationType.COMPACTION); @@ -370,7 +371,7 @@ public class LogTransactionTest extends AbstractTransactionalTest { ColumnFamilyStore cfs = MockSchema.newCFS(KEYSPACE); - File origiFolder = new Directories(cfs.metadata).getDirectoryForNewSSTables(); + File origiFolder = new Directories(cfs.metadata()).getDirectoryForNewSSTables(); File dataFolder1 = new File(origiFolder, "1"); File dataFolder2 = new File(origiFolder, "2"); Files.createDirectories(dataFolder1.toPath()); @@ -405,7 +406,7 @@ public class LogTransactionTest extends AbstractTransactionalTest public void testRemoveUnfinishedLeftovers_abort() throws Throwable { ColumnFamilyStore cfs = MockSchema.newCFS(KEYSPACE); - File dataFolder = new Directories(cfs.metadata).getDirectoryForNewSSTables(); + File dataFolder = new Directories(cfs.metadata()).getDirectoryForNewSSTables(); SSTableReader sstableOld = sstable(dataFolder, cfs, 0, 128); SSTableReader sstableNew = sstable(dataFolder, cfs, 1, 128); @@ -424,10 +425,10 @@ public class LogTransactionTest extends AbstractTransactionalTest Assert.assertEquals(tmpFiles, getTemporaryFiles(sstableNew.descriptor.directory)); // normally called at startup - LogTransaction.removeUnfinishedLeftovers(cfs.metadata); + LogTransaction.removeUnfinishedLeftovers(cfs.metadata()); // sstableOld should be only table left - Directories directories = new Directories(cfs.metadata); + Directories directories = new Directories(cfs.metadata()); Map<Descriptor, Set<Component>> sstables = directories.sstableLister(Directories.OnTxnErr.THROW).list(); assertEquals(1, sstables.size()); @@ -442,7 +443,7 @@ public class LogTransactionTest extends AbstractTransactionalTest public void testRemoveUnfinishedLeftovers_commit() throws Throwable { ColumnFamilyStore cfs = MockSchema.newCFS(KEYSPACE); - File dataFolder = new Directories(cfs.metadata).getDirectoryForNewSSTables(); + File dataFolder = new Directories(cfs.metadata()).getDirectoryForNewSSTables(); SSTableReader sstableOld = sstable(dataFolder, cfs, 0, 128); SSTableReader sstableNew = sstable(dataFolder, cfs, 1, 128); @@ -464,10 +465,10 @@ public class LogTransactionTest extends AbstractTransactionalTest Assert.assertEquals(tmpFiles, getTemporaryFiles(sstableOld.descriptor.directory)); // normally called at startup - LogTransaction.removeUnfinishedLeftovers(cfs.metadata); + LogTransaction.removeUnfinishedLeftovers(cfs.metadata()); // sstableNew should be only table left - Directories directories = new Directories(cfs.metadata); + Directories directories = new Directories(cfs.metadata()); Map<Descriptor, Set<Component>> sstables = directories.sstableLister(Directories.OnTxnErr.THROW).list(); assertEquals(1, sstables.size()); @@ -483,7 +484,7 @@ public class LogTransactionTest extends AbstractTransactionalTest { ColumnFamilyStore cfs = MockSchema.newCFS(KEYSPACE); - File origiFolder = new Directories(cfs.metadata).getDirectoryForNewSSTables(); + File origiFolder = new Directories(cfs.metadata()).getDirectoryForNewSSTables(); File dataFolder1 = new File(origiFolder, "1"); File dataFolder2 = new File(origiFolder, "2"); Files.createDirectories(dataFolder1.toPath()); @@ -534,7 +535,7 @@ public class LogTransactionTest extends AbstractTransactionalTest { ColumnFamilyStore cfs = MockSchema.newCFS(KEYSPACE); - File origiFolder = new Directories(cfs.metadata).getDirectoryForNewSSTables(); + File origiFolder = new Directories(cfs.metadata()).getDirectoryForNewSSTables(); File dataFolder1 = new File(origiFolder, "1"); File dataFolder2 = new File(origiFolder, "2"); Files.createDirectories(dataFolder1.toPath()); @@ -709,7 +710,7 @@ public class LogTransactionTest extends AbstractTransactionalTest { ColumnFamilyStore cfs = MockSchema.newCFS(KEYSPACE); - File origiFolder = new Directories(cfs.metadata).getDirectoryForNewSSTables(); + File origiFolder = new Directories(cfs.metadata()).getDirectoryForNewSSTables(); File dataFolder1 = new File(origiFolder, "1"); File dataFolder2 = new File(origiFolder, "2"); Files.createDirectories(dataFolder1.toPath()); @@ -766,7 +767,7 @@ public class LogTransactionTest extends AbstractTransactionalTest public void testGetTemporaryFiles() throws IOException { ColumnFamilyStore cfs = MockSchema.newCFS(KEYSPACE); - File dataFolder = new Directories(cfs.metadata).getDirectoryForNewSSTables(); + File dataFolder = new Directories(cfs.metadata()).getDirectoryForNewSSTables(); SSTableReader sstable1 = sstable(dataFolder, cfs, 0, 128); Set<File> tmpFiles = getTemporaryFiles(dataFolder); @@ -775,7 +776,7 @@ public class LogTransactionTest extends AbstractTransactionalTest try(LogTransaction log = new LogTransaction(OperationType.WRITE)) { - Directories directories = new Directories(cfs.metadata); + Directories directories = new Directories(cfs.metadata()); File[] beforeSecondSSTable = dataFolder.listFiles(pathname -> !pathname.isDirectory()); @@ -834,7 +835,7 @@ public class LogTransactionTest extends AbstractTransactionalTest { ColumnFamilyStore cfs = MockSchema.newCFS(KEYSPACE); - File origiFolder = new Directories(cfs.metadata).getDirectoryForNewSSTables(); + File origiFolder = new Directories(cfs.metadata()).getDirectoryForNewSSTables(); File dataFolder1 = new File(origiFolder, "1"); File dataFolder2 = new File(origiFolder, "2"); Files.createDirectories(dataFolder1.toPath()); @@ -993,7 +994,7 @@ public class LogTransactionTest extends AbstractTransactionalTest private static void testCorruptRecord(BiConsumer<LogTransaction, SSTableReader> modifier, boolean isRecoverable) throws IOException { ColumnFamilyStore cfs = MockSchema.newCFS(KEYSPACE); - File dataFolder = new Directories(cfs.metadata).getDirectoryForNewSSTables(); + File dataFolder = new Directories(cfs.metadata()).getDirectoryForNewSSTables(); SSTableReader sstableOld = sstable(dataFolder, cfs, 0, 128); SSTableReader sstableNew = sstable(dataFolder, cfs, 1, 128); @@ -1028,7 +1029,7 @@ public class LogTransactionTest extends AbstractTransactionalTest { // the corruption is recoverable but the commit record is unreadable so the transaction is still in progress //This should remove new files - LogTransaction.removeUnfinishedLeftovers(cfs.metadata); + LogTransaction.removeUnfinishedLeftovers(cfs.metadata()); // make sure to exclude the old files that were deleted by the modifier assertFiles(dataFolder.getPath(), oldFiles); @@ -1037,7 +1038,7 @@ public class LogTransactionTest extends AbstractTransactionalTest { // if an intermediate line was also modified, it should ignore the tx log file //This should not remove any files - LogTransaction.removeUnfinishedLeftovers(cfs.metadata); + LogTransaction.removeUnfinishedLeftovers(cfs.metadata()); assertFiles(dataFolder.getPath(), Sets.newHashSet(Iterables.concat(newFiles, oldFiles, @@ -1065,7 +1066,7 @@ public class LogTransactionTest extends AbstractTransactionalTest private static void testObsoletedFilesChanged(Consumer<SSTableReader> modifier) throws IOException { ColumnFamilyStore cfs = MockSchema.newCFS(KEYSPACE); - File dataFolder = new Directories(cfs.metadata).getDirectoryForNewSSTables(); + File dataFolder = new Directories(cfs.metadata()).getDirectoryForNewSSTables(); SSTableReader sstableOld = sstable(dataFolder, cfs, 0, 128); SSTableReader sstableNew = sstable(dataFolder, cfs, 1, 128); @@ -1083,7 +1084,7 @@ public class LogTransactionTest extends AbstractTransactionalTest log.txnFile().commit(); //This should not remove the old files - LogTransaction.removeUnfinishedLeftovers(cfs.metadata); + LogTransaction.removeUnfinishedLeftovers(cfs.metadata()); assertFiles(dataFolder.getPath(), Sets.newHashSet(Iterables.concat( sstableNew.getAllFilePaths(), @@ -1108,7 +1109,7 @@ public class LogTransactionTest extends AbstractTransactionalTest public void testGetTemporaryFilesSafeAfterObsoletion() throws Throwable { ColumnFamilyStore cfs = MockSchema.newCFS(KEYSPACE); - File dataFolder = new Directories(cfs.metadata).getDirectoryForNewSSTables(); + File dataFolder = new Directories(cfs.metadata()).getDirectoryForNewSSTables(); SSTableReader sstable = sstable(dataFolder, cfs, 0, 128); LogTransaction logs = new LogTransaction(OperationType.COMPACTION); @@ -1132,7 +1133,7 @@ public class LogTransactionTest extends AbstractTransactionalTest public void testGetTemporaryFilesThrowsIfCompletingAfterObsoletion() throws Throwable { ColumnFamilyStore cfs = MockSchema.newCFS(KEYSPACE); - File dataFolder = new Directories(cfs.metadata).getDirectoryForNewSSTables(); + File dataFolder = new Directories(cfs.metadata()).getDirectoryForNewSSTables(); SSTableReader sstable = sstable(dataFolder, cfs, 0, 128); LogTransaction logs = new LogTransaction(OperationType.COMPACTION); @@ -1180,9 +1181,9 @@ public class LogTransactionTest extends AbstractTransactionalTest FileHandle dFile = new FileHandle.Builder(descriptor.filenameFor(Component.DATA)).complete(); FileHandle iFile = new FileHandle.Builder(descriptor.filenameFor(Component.PRIMARY_INDEX)).complete(); - SerializationHeader header = SerializationHeader.make(cfs.metadata, Collections.emptyList()); - StatsMetadata metadata = (StatsMetadata) new MetadataCollector(cfs.metadata.comparator) - .finalizeMetadata(cfs.metadata.partitioner.getClass().getCanonicalName(), 0.01f, -1, header) + SerializationHeader header = SerializationHeader.make(cfs.metadata(), Collections.emptyList()); + StatsMetadata metadata = (StatsMetadata) new MetadataCollector(cfs.metadata().comparator) + .finalizeMetadata(cfs.metadata().partitioner.getClass().getCanonicalName(), 0.01f, -1, header) .get(MetadataType.STATS); SSTableReader reader = SSTableReader.internalOpen(descriptor, components, http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/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 b825f52..f4443f1 100644 --- a/test/unit/org/apache/cassandra/db/lifecycle/RealTransactionsTest.java +++ b/test/unit/org/apache/cassandra/db/lifecycle/RealTransactionsTest.java @@ -30,8 +30,8 @@ import org.junit.Test; import junit.framework.Assert; import org.apache.cassandra.SchemaLoader; -import org.apache.cassandra.config.CFMetaData; -import org.apache.cassandra.config.Schema; +import org.apache.cassandra.schema.TableMetadataRef; +import org.apache.cassandra.schema.Schema; import org.apache.cassandra.db.ColumnFamilyStore; import org.apache.cassandra.db.Keyspace; import org.apache.cassandra.db.SerializationHeader; @@ -158,13 +158,13 @@ public class RealTransactionsTest extends SchemaLoader long lastCheckObsoletion = System.nanoTime(); File directory = txn.originals().iterator().next().descriptor.directory; Descriptor desc = cfs.newSSTableDescriptor(directory); - CFMetaData metadata = Schema.instance.getCFMetaData(desc); + TableMetadataRef metadata = Schema.instance.getTableMetadataRef(desc); rewriter.switchWriter(SSTableWriter.create(metadata, desc, 0, 0, 0, - SerializationHeader.make(cfs.metadata, txn.originals()), + SerializationHeader.make(cfs.metadata(), txn.originals()), cfs.indexManager.listIndexes(), txn)); while (ci.hasNext()) http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/db/lifecycle/TrackerTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/lifecycle/TrackerTest.java b/test/unit/org/apache/cassandra/db/lifecycle/TrackerTest.java index 65c7d0e..a5a1baf 100644 --- a/test/unit/org/apache/cassandra/db/lifecycle/TrackerTest.java +++ b/test/unit/org/apache/cassandra/db/lifecycle/TrackerTest.java @@ -34,7 +34,6 @@ import org.junit.BeforeClass; import org.junit.Test; import junit.framework.Assert; -import org.apache.cassandra.MockSchema; import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.db.ColumnFamilyStore; import org.apache.cassandra.db.Memtable; @@ -43,6 +42,7 @@ import org.apache.cassandra.db.commitlog.CommitLogPosition; import org.apache.cassandra.db.compaction.OperationType; import org.apache.cassandra.io.sstable.format.SSTableReader; import org.apache.cassandra.notifications.*; +import org.apache.cassandra.schema.MockSchema; import org.apache.cassandra.utils.concurrent.OpOrder; import static com.google.common.collect.ImmutableSet.copyOf; http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/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 a0e6e5f..f092854 100644 --- a/test/unit/org/apache/cassandra/db/lifecycle/ViewTest.java +++ b/test/unit/org/apache/cassandra/db/lifecycle/ViewTest.java @@ -32,13 +32,13 @@ import org.junit.BeforeClass; import org.junit.Test; import junit.framework.Assert; -import org.apache.cassandra.MockSchema; import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.db.ColumnFamilyStore; import org.apache.cassandra.db.Memtable; import org.apache.cassandra.db.PartitionPosition; import org.apache.cassandra.dht.AbstractBounds; import org.apache.cassandra.io.sstable.format.SSTableReader; +import org.apache.cassandra.schema.MockSchema; import static com.google.common.collect.ImmutableSet.copyOf; import static com.google.common.collect.ImmutableSet.of; http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/db/marshal/CompositeTypeTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/marshal/CompositeTypeTest.java b/test/unit/org/apache/cassandra/db/marshal/CompositeTypeTest.java index 2bf4082..9813fd9 100644 --- a/test/unit/org/apache/cassandra/db/marshal/CompositeTypeTest.java +++ b/test/unit/org/apache/cassandra/db/marshal/CompositeTypeTest.java @@ -29,7 +29,7 @@ import static org.junit.Assert.assertEquals; import org.apache.cassandra.SchemaLoader; import org.apache.cassandra.Util; -import org.apache.cassandra.config.ColumnDefinition; +import org.apache.cassandra.schema.ColumnMetadata; import org.apache.cassandra.db.*; import org.apache.cassandra.db.rows.Cell; import org.apache.cassandra.db.rows.Row; @@ -38,7 +38,6 @@ import org.apache.cassandra.exceptions.ConfigurationException; import org.apache.cassandra.exceptions.SyntaxException; import org.apache.cassandra.schema.KeyspaceParams; import org.apache.cassandra.serializers.MarshalException; -import org.apache.cassandra.serializers.UTF8Serializer; import org.apache.cassandra.utils.*; public class CompositeTypeTest @@ -190,13 +189,13 @@ public class CompositeTypeTest ByteBuffer key = ByteBufferUtil.bytes("k"); long ts = FBUtilities.timestampMicros(); - new RowUpdateBuilder(cfs.metadata, ts, key).clustering(cname5).add("val", "cname5").build().applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, ts, key).clustering(cname1).add("val", "cname1").build().applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, ts, key).clustering(cname4).add("val", "cname4").build().applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, ts, key).clustering(cname2).add("val", "cname2").build().applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, ts, key).clustering(cname3).add("val", "cname3").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), ts, key).clustering(cname5).add("val", "cname5").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), ts, key).clustering(cname1).add("val", "cname1").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), ts, key).clustering(cname4).add("val", "cname4").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), ts, key).clustering(cname2).add("val", "cname2").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), ts, key).clustering(cname3).add("val", "cname3").build().applyUnsafe(); - ColumnDefinition cdef = cfs.metadata.getColumnDefinition(ByteBufferUtil.bytes("val")); + ColumnMetadata cdef = cfs.metadata().getColumn(ByteBufferUtil.bytes("val")); ImmutableBTreePartition readPartition = Util.getOnlyPartitionUnfiltered(Util.cmd(cfs, key).build()); Iterator<Row> iter = readPartition.iterator(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/db/marshal/DynamicCompositeTypeTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/marshal/DynamicCompositeTypeTest.java b/test/unit/org/apache/cassandra/db/marshal/DynamicCompositeTypeTest.java index 0a3c39c..068daf6 100644 --- a/test/unit/org/apache/cassandra/db/marshal/DynamicCompositeTypeTest.java +++ b/test/unit/org/apache/cassandra/db/marshal/DynamicCompositeTypeTest.java @@ -31,7 +31,7 @@ import static org.junit.Assert.fail; import org.apache.cassandra.SchemaLoader; import org.apache.cassandra.Util; -import org.apache.cassandra.config.ColumnDefinition; +import org.apache.cassandra.schema.ColumnMetadata; import org.apache.cassandra.db.*; import org.apache.cassandra.db.rows.Cell; import org.apache.cassandra.db.rows.Row; @@ -193,13 +193,13 @@ public class DynamicCompositeTypeTest ByteBuffer key = ByteBufferUtil.bytes("k"); long ts = FBUtilities.timestampMicros(); - new RowUpdateBuilder(cfs.metadata, ts, key).clustering(cname5).add("val", "cname5").build().applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, ts, key).clustering(cname1).add("val", "cname1").build().applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, ts, key).clustering(cname4).add("val", "cname4").build().applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, ts, key).clustering(cname2).add("val", "cname2").build().applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, ts, key).clustering(cname3).add("val", "cname3").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), ts, key).clustering(cname5).add("val", "cname5").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), ts, key).clustering(cname1).add("val", "cname1").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), ts, key).clustering(cname4).add("val", "cname4").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), ts, key).clustering(cname2).add("val", "cname2").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), ts, key).clustering(cname3).add("val", "cname3").build().applyUnsafe(); - ColumnDefinition cdef = cfs.metadata.getColumnDefinition(ByteBufferUtil.bytes("val")); + ColumnMetadata cdef = cfs.metadata().getColumn(ByteBufferUtil.bytes("val")); ImmutableBTreePartition readPartition = Util.getOnlyPartitionUnfiltered(Util.cmd(cfs, key).build()); Iterator<Row> iter = readPartition.iterator(); @@ -230,13 +230,13 @@ public class DynamicCompositeTypeTest ByteBuffer key = ByteBufferUtil.bytes("kr"); long ts = FBUtilities.timestampMicros(); - new RowUpdateBuilder(cfs.metadata, ts, key).clustering(cname5).add("val", "cname5").build().applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, ts, key).clustering(cname1).add("val", "cname1").build().applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, ts, key).clustering(cname4).add("val", "cname4").build().applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, ts, key).clustering(cname2).add("val", "cname2").build().applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, ts, key).clustering(cname3).add("val", "cname3").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), ts, key).clustering(cname5).add("val", "cname5").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), ts, key).clustering(cname1).add("val", "cname1").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), ts, key).clustering(cname4).add("val", "cname4").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), ts, key).clustering(cname2).add("val", "cname2").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), ts, key).clustering(cname3).add("val", "cname3").build().applyUnsafe(); - ColumnDefinition cdef = cfs.metadata.getColumnDefinition(ByteBufferUtil.bytes("val")); + ColumnMetadata cdef = cfs.metadata().getColumn(ByteBufferUtil.bytes("val")); ImmutableBTreePartition readPartition = Util.getOnlyPartitionUnfiltered(Util.cmd(cfs, key).build()); Iterator<Row> iter = readPartition.iterator(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/db/partition/PartitionImplementationTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/partition/PartitionImplementationTest.java b/test/unit/org/apache/cassandra/db/partition/PartitionImplementationTest.java index 90d6310..7bdfdb5 100644 --- a/test/unit/org/apache/cassandra/db/partition/PartitionImplementationTest.java +++ b/test/unit/org/apache/cassandra/db/partition/PartitionImplementationTest.java @@ -35,8 +35,8 @@ import org.junit.Test; import org.apache.cassandra.SchemaLoader; import org.apache.cassandra.Util; -import org.apache.cassandra.config.CFMetaData; -import org.apache.cassandra.config.ColumnDefinition; +import org.apache.cassandra.schema.ColumnMetadata; +import org.apache.cassandra.schema.TableMetadata; import org.apache.cassandra.cql3.ColumnIdentifier; import org.apache.cassandra.db.*; import org.apache.cassandra.db.filter.ColumnFilter; @@ -62,7 +62,7 @@ public class PartitionImplementationTest private static final int TIMESTAMP = KEY_RANGE + 1; - private static CFMetaData cfm; + private static TableMetadata metadata; private Random rand = new Random(2); @BeforeClass @@ -70,15 +70,15 @@ public class PartitionImplementationTest { SchemaLoader.prepareServer(); - cfm = CFMetaData.Builder.create(KEYSPACE, CF) - .addPartitionKey("pk", AsciiType.instance) - .addClusteringColumn("ck", AsciiType.instance) - .addRegularColumn("col", AsciiType.instance) - .addStaticColumn("static_col", AsciiType.instance) - .build(); - SchemaLoader.createKeyspace(KEYSPACE, - KeyspaceParams.simple(1), - cfm); + metadata = + TableMetadata.builder(KEYSPACE, CF) + .addPartitionKeyColumn("pk", AsciiType.instance) + .addClusteringColumn("ck", AsciiType.instance) + .addRegularColumn("col", AsciiType.instance) + .addStaticColumn("static_col", AsciiType.instance) + .build(); + + SchemaLoader.createKeyspace(KEYSPACE, KeyspaceParams.simple(1), metadata); } private List<Row> generateRows() @@ -100,7 +100,7 @@ public class PartitionImplementationTest Row makeRow(Clustering clustering, String colValue) { - ColumnDefinition defCol = cfm.getColumnDefinition(new ColumnIdentifier("col", true)); + ColumnMetadata defCol = metadata.getColumn(new ColumnIdentifier("col", true)); Row.Builder row = BTreeRow.unsortedBuilder(TIMESTAMP); row.newRow(clustering); row.addCell(BufferCell.live(defCol, TIMESTAMP, ByteBufferUtil.bytes(colValue))); @@ -109,7 +109,7 @@ public class PartitionImplementationTest Row makeStaticRow() { - ColumnDefinition defCol = cfm.getColumnDefinition(new ColumnIdentifier("static_col", true)); + ColumnMetadata defCol = metadata.getColumn(new ColumnIdentifier("static_col", true)); Row.Builder row = BTreeRow.unsortedBuilder(TIMESTAMP); row.newRow(Clustering.STATIC_CLUSTERING); row.addCell(BufferCell.live(defCol, TIMESTAMP, ByteBufferUtil.bytes("static value"))); @@ -148,7 +148,7 @@ public class PartitionImplementationTest markers.add(open); markers.add(close); } - markers.sort(cfm.comparator); + markers.sort(metadata.comparator); RangeTombstoneMarker toAdd = null; Set<DeletionTime> open = new HashSet<>(); @@ -163,7 +163,7 @@ public class PartitionImplementationTest { if (toAdd != null) { - if (cfm.comparator.compare(toAdd, marker) != 0) + if (metadata.comparator.compare(toAdd, marker) != 0) content.add(toAdd); else { @@ -187,7 +187,7 @@ public class PartitionImplementationTest { if (toAdd != null) { - if (cfm.comparator.compare(toAdd, marker) != 0) + if (metadata.comparator.compare(toAdd, marker) != 0) content.add(toAdd); else { @@ -212,7 +212,7 @@ public class PartitionImplementationTest private Clustering clustering(int i) { - return cfm.comparator.make(String.format("Row%06d", i)); + return metadata.comparator.make(String.format("Row%06d", i)); } private void test(Supplier<Collection<? extends Unfiltered>> content, Row staticRow) @@ -233,18 +233,18 @@ public class PartitionImplementationTest private void testIter(Supplier<Collection<? extends Unfiltered>> contentSupplier, Row staticRow) { - NavigableSet<Clusterable> sortedContent = new TreeSet<Clusterable>(cfm.comparator); + NavigableSet<Clusterable> sortedContent = new TreeSet<Clusterable>(metadata.comparator); sortedContent.addAll(contentSupplier.get()); AbstractBTreePartition partition; - try (UnfilteredRowIterator iter = new Util.UnfilteredSource(cfm, Util.dk("pk"), staticRow, sortedContent.stream().map(x -> (Unfiltered) x).iterator())) + try (UnfilteredRowIterator iter = new Util.UnfilteredSource(metadata, Util.dk("pk"), staticRow, sortedContent.stream().map(x -> (Unfiltered) x).iterator())) { partition = ImmutableBTreePartition.create(iter); } - ColumnDefinition defCol = cfm.getColumnDefinition(new ColumnIdentifier("col", true)); + ColumnMetadata defCol = metadata.getColumn(new ColumnIdentifier("col", true)); ColumnFilter cf = ColumnFilter.selectionBuilder().add(defCol).build(); - Function<? super Clusterable, ? extends Clusterable> colFilter = x -> x instanceof Row ? ((Row) x).filter(cf, cfm) : x; - Slices slices = Slices.with(cfm.comparator, Slice.make(clustering(KEY_RANGE / 4), clustering(KEY_RANGE * 3 / 4))); + Function<? super Clusterable, ? extends Clusterable> colFilter = x -> x instanceof Row ? ((Row) x).filter(cf, metadata) : x; + Slices slices = Slices.with(metadata.comparator, Slice.make(clustering(KEY_RANGE / 4), clustering(KEY_RANGE * 3 / 4))); Slices multiSlices = makeSlices(); // lastRow @@ -278,44 +278,44 @@ public class PartitionImplementationTest // unfiltered iterator assertIteratorsEqual(sortedContent.iterator(), - partition.unfilteredIterator(ColumnFilter.all(cfm), Slices.ALL, false)); + partition.unfilteredIterator(ColumnFilter.all(metadata), Slices.ALL, false)); // column-filtered assertIteratorsEqual(sortedContent.stream().map(colFilter).iterator(), partition.unfilteredIterator(cf, Slices.ALL, false)); // sliced assertIteratorsEqual(slice(sortedContent, slices.get(0)), - partition.unfilteredIterator(ColumnFilter.all(cfm), slices, false)); + partition.unfilteredIterator(ColumnFilter.all(metadata), slices, false)); assertIteratorsEqual(streamOf(slice(sortedContent, slices.get(0))).map(colFilter).iterator(), partition.unfilteredIterator(cf, slices, false)); // randomly multi-sliced assertIteratorsEqual(slice(sortedContent, multiSlices), - partition.unfilteredIterator(ColumnFilter.all(cfm), multiSlices, false)); + partition.unfilteredIterator(ColumnFilter.all(metadata), multiSlices, false)); assertIteratorsEqual(streamOf(slice(sortedContent, multiSlices)).map(colFilter).iterator(), partition.unfilteredIterator(cf, multiSlices, false)); // reversed assertIteratorsEqual(sortedContent.descendingIterator(), - partition.unfilteredIterator(ColumnFilter.all(cfm), Slices.ALL, true)); + partition.unfilteredIterator(ColumnFilter.all(metadata), Slices.ALL, true)); assertIteratorsEqual(sortedContent.descendingSet().stream().map(colFilter).iterator(), partition.unfilteredIterator(cf, Slices.ALL, true)); assertIteratorsEqual(invert(slice(sortedContent, slices.get(0))), - partition.unfilteredIterator(ColumnFilter.all(cfm), slices, true)); + partition.unfilteredIterator(ColumnFilter.all(metadata), slices, true)); assertIteratorsEqual(streamOf(invert(slice(sortedContent, slices.get(0)))).map(colFilter).iterator(), partition.unfilteredIterator(cf, slices, true)); assertIteratorsEqual(invert(slice(sortedContent, multiSlices)), - partition.unfilteredIterator(ColumnFilter.all(cfm), multiSlices, true)); + partition.unfilteredIterator(ColumnFilter.all(metadata), multiSlices, true)); assertIteratorsEqual(streamOf(invert(slice(sortedContent, multiSlices))).map(colFilter).iterator(), partition.unfilteredIterator(cf, multiSlices, true)); // search iterator - testSearchIterator(sortedContent, partition, ColumnFilter.all(cfm), false); + testSearchIterator(sortedContent, partition, ColumnFilter.all(metadata), false); testSearchIterator(sortedContent, partition, cf, false); - testSearchIterator(sortedContent, partition, ColumnFilter.all(cfm), true); + testSearchIterator(sortedContent, partition, ColumnFilter.all(metadata), true); testSearchIterator(sortedContent, partition, cf, true); // sliceable iter - testSlicingOfIterators(sortedContent, partition, ColumnFilter.all(cfm), false); + testSlicingOfIterators(sortedContent, partition, ColumnFilter.all(metadata), false); testSlicingOfIterators(sortedContent, partition, cf, false); - testSlicingOfIterators(sortedContent, partition, ColumnFilter.all(cfm), true); + testSlicingOfIterators(sortedContent, partition, ColumnFilter.all(metadata), true); testSlicingOfIterators(sortedContent, partition, cf, true); } @@ -338,14 +338,14 @@ public class PartitionImplementationTest assertEquals(expected == null, row == null); if (row == null) continue; - assertRowsEqual(expected.filter(cf, cfm), row); + assertRowsEqual(expected.filter(cf, metadata), row); } } Slices makeSlices() { int pos = 0; - Slices.Builder builder = new Slices.Builder(cfm.comparator); + Slices.Builder builder = new Slices.Builder(metadata.comparator); while (pos <= KEY_RANGE) { int skip = rand.nextInt(KEY_RANGE / 10) * (rand.nextInt(3) + 2 / 3); // increased chance of getting 0 @@ -362,13 +362,13 @@ public class PartitionImplementationTest void testSlicingOfIterators(NavigableSet<Clusterable> sortedContent, AbstractBTreePartition partition, ColumnFilter cf, boolean reversed) { - Function<? super Clusterable, ? extends Clusterable> colFilter = x -> x instanceof Row ? ((Row) x).filter(cf, cfm) : x; + Function<? super Clusterable, ? extends Clusterable> colFilter = x -> x instanceof Row ? ((Row) x).filter(cf, metadata) : x; Slices slices = makeSlices(); // fetch each slice in turn for (Slice slice : (Iterable<Slice>) () -> directed(slices, reversed)) { - try (UnfilteredRowIterator slicedIter = partition.unfilteredIterator(cf, Slices.with(cfm.comparator, slice), reversed)) + try (UnfilteredRowIterator slicedIter = partition.unfilteredIterator(cf, Slices.with(metadata.comparator, slice), reversed)) { assertIteratorsEqual(streamOf(directed(slice(sortedContent, slice), reversed)).map(colFilter).iterator(), slicedIter); @@ -441,8 +441,8 @@ public class PartitionImplementationTest Clusterable[] a2 = (Clusterable[]) Iterators.toArray(it2, Clusterable.class); if (Arrays.equals(a1, a2)) return; - String a1s = Stream.of(a1).map(x -> "\n" + (x instanceof Unfiltered ? ((Unfiltered) x).toString(cfm) : x.toString())).collect(Collectors.toList()).toString(); - String a2s = Stream.of(a2).map(x -> "\n" + (x instanceof Unfiltered ? ((Unfiltered) x).toString(cfm) : x.toString())).collect(Collectors.toList()).toString(); + String a1s = Stream.of(a1).map(x -> "\n" + (x instanceof Unfiltered ? ((Unfiltered) x).toString(metadata) : x.toString())).collect(Collectors.toList()).toString(); + String a2s = Stream.of(a2).map(x -> "\n" + (x instanceof Unfiltered ? ((Unfiltered) x).toString(metadata) : x.toString())).collect(Collectors.toList()).toString(); assertArrayEquals("Arrays differ. Expected " + a1s + " was " + a2s, a1, a2); } @@ -451,7 +451,7 @@ public class PartitionImplementationTest NavigableSet<Clusterable> nexts = sortedContent.tailSet(cl, true); if (nexts.isEmpty()) return null; - Row row = nexts.first() instanceof Row && cfm.comparator.compare(cl, nexts.first()) == 0 ? (Row) nexts.first() : null; + Row row = nexts.first() instanceof Row && metadata.comparator.compare(cl, nexts.first()) == 0 ? (Row) nexts.first() : null; for (Clusterable next : nexts) if (next instanceof RangeTombstoneMarker) { @@ -459,7 +459,7 @@ public class PartitionImplementationTest if (!rt.isClose(false)) return row; DeletionTime delTime = rt.closeDeletionTime(false); - return row == null ? BTreeRow.emptyDeletedRow(cl, Deletion.regular(delTime)) : row.filter(ColumnFilter.all(cfm), delTime, true, cfm); + return row == null ? BTreeRow.emptyDeletedRow(cl, Deletion.regular(delTime)) : row.filter(ColumnFilter.all(metadata), delTime, true, metadata); } return row; }
