You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by al...@apache.org on 2015/07/01 15:39:06 UTC
[1/3] cassandra git commit: Factor out KSMetaData.KeyspaceParams
Repository: cassandra
Updated Branches:
refs/heads/trunk 6e1033bc9 -> 31e3f612b
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 eae11b6..7be787e 100644
--- a/test/unit/org/apache/cassandra/db/compaction/TTLExpiryTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/TTLExpiryTest.java
@@ -1,6 +1,4 @@
-package org.apache.cassandra.db.compaction;
/*
- *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -17,11 +15,10 @@ package org.apache.cassandra.db.compaction;
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
*/
+package org.apache.cassandra.db.compaction;
import org.apache.cassandra.config.CFMetaData;
-import org.apache.cassandra.cql3.ColumnIdentifier;
import org.apache.cassandra.db.rows.UnfilteredRowIterator;
import org.apache.cassandra.db.marshal.AsciiType;
import org.apache.cassandra.io.sstable.format.SSTableReader;
@@ -33,14 +30,12 @@ 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.KSMetaData;
import org.apache.cassandra.db.*;
import org.apache.cassandra.db.filter.ColumnFilter;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.sstable.ISSTableScanner;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
-import org.apache.cassandra.utils.FBUtilities;
import java.io.IOException;
import java.util.Collections;
@@ -60,18 +55,17 @@ public class TTLExpiryTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(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("shadow", AsciiType.instance)
- .build().gcGraceSeconds(0));
+ 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("shadow", AsciiType.instance)
+ .build().gcGraceSeconds(0));
}
@Test
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/db/index/PerRowSecondaryIndexTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/index/PerRowSecondaryIndexTest.java b/test/unit/org/apache/cassandra/db/index/PerRowSecondaryIndexTest.java
index 158460b..77de665 100644
--- a/test/unit/org/apache/cassandra/db/index/PerRowSecondaryIndexTest.java
+++ b/test/unit/org/apache/cassandra/db/index/PerRowSecondaryIndexTest.java
@@ -17,7 +17,6 @@
*/
package org.apache.cassandra.db.index;
-
import java.nio.ByteBuffer;
import java.util.Arrays;
import java.util.Set;
@@ -30,7 +29,6 @@ import junit.framework.Assert;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.ColumnDefinition;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.cql3.ColumnIdentifier;
import org.apache.cassandra.cql3.QueryProcessor;
@@ -43,7 +41,7 @@ import org.apache.cassandra.db.partitions.UnfilteredPartitionIterator;
import org.apache.cassandra.db.partitions.PartitionUpdate;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.exceptions.InvalidRequestException;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
import org.apache.cassandra.utils.concurrent.OpOrder;
@@ -67,9 +65,8 @@ public class PerRowSecondaryIndexTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
- SchemaLoader.perRowIndexedCFMD(KEYSPACE1, CF_INDEXED));
+ KeyspaceParams.simple(1),
+ SchemaLoader.perRowIndexedCFMD(KEYSPACE1, CF_INDEXED));
}
@Before
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 68b888c..3454bf1 100644
--- a/test/unit/org/apache/cassandra/db/marshal/CompositeTypeTest.java
+++ b/test/unit/org/apache/cassandra/db/marshal/CompositeTypeTest.java
@@ -30,16 +30,14 @@ 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.config.KSMetaData;
import org.apache.cassandra.db.*;
import org.apache.cassandra.db.rows.Cell;
import org.apache.cassandra.db.rows.Row;
import org.apache.cassandra.db.partitions.ArrayBackedPartition;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.exceptions.SyntaxException;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.serializers.MarshalException;
-import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.*;
public class CompositeTypeTest
@@ -70,8 +68,7 @@ public class CompositeTypeTest
AbstractType<?> composite = CompositeType.getInstance(Arrays.asList(new AbstractType<?>[]{BytesType.instance, TimeUUIDType.instance, IntegerType.instance}));
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.denseCFMD(KEYSPACE1, CF_STANDARDCOMPOSITE, composite));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 071c5de..1fc3f2c 100644
--- a/test/unit/org/apache/cassandra/db/marshal/DynamicCompositeTypeTest.java
+++ b/test/unit/org/apache/cassandra/db/marshal/DynamicCompositeTypeTest.java
@@ -32,15 +32,13 @@ 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.config.KSMetaData;
import org.apache.cassandra.db.*;
import org.apache.cassandra.db.rows.Cell;
import org.apache.cassandra.db.rows.Row;
import org.apache.cassandra.db.partitions.ArrayBackedPartition;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.serializers.MarshalException;
-import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.*;
public class DynamicCompositeTypeTest
@@ -73,8 +71,7 @@ public class DynamicCompositeTypeTest
AbstractType<?> dynamicComposite = DynamicCompositeType.getInstance(aliases);
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.denseCFMD(KEYSPACE1, CF_STANDARDDYNCOMPOSITE, dynamicComposite));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/dht/KeyCollisionTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/dht/KeyCollisionTest.java b/test/unit/org/apache/cassandra/dht/KeyCollisionTest.java
index 03a530d..3cda1d3 100644
--- a/test/unit/org/apache/cassandra/dht/KeyCollisionTest.java
+++ b/test/unit/org/apache/cassandra/dht/KeyCollisionTest.java
@@ -33,7 +33,6 @@ import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.DatabaseDescriptor;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.db.BufferDecoratedKey;
import org.apache.cassandra.db.ColumnFamilyStore;
@@ -44,15 +43,12 @@ import org.apache.cassandra.db.marshal.AbstractType;
import org.apache.cassandra.db.marshal.IntegerType;
import org.apache.cassandra.db.partitions.*;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
import org.apache.cassandra.utils.Pair;
-import static org.apache.cassandra.Util.dk;
-
-
/**
* Test cases where multiple keys collides, ie have the same token.
* Order preserving partitioner have no possible collision and creating
@@ -73,8 +69,7 @@ public class KeyCollisionTest
DatabaseDescriptor.setPartitioner(LengthPartitioner.instance);
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/io/sstable/BigTableWriterTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/io/sstable/BigTableWriterTest.java b/test/unit/org/apache/cassandra/io/sstable/BigTableWriterTest.java
index 5683356..97de022 100644
--- a/test/unit/org/apache/cassandra/io/sstable/BigTableWriterTest.java
+++ b/test/unit/org/apache/cassandra/io/sstable/BigTableWriterTest.java
@@ -26,14 +26,13 @@ import org.junit.BeforeClass;
import junit.framework.Assert;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.UpdateBuilder;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.ColumnFamilyStore;
import org.apache.cassandra.db.Keyspace;
import org.apache.cassandra.db.SerializationHeader;
import org.apache.cassandra.db.marshal.*;
import org.apache.cassandra.db.rows.RowStats;
import org.apache.cassandra.io.sstable.format.SSTableWriter;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.concurrent.AbstractTransactionalTest;
public class BigTableWriterTest extends AbstractTransactionalTest
@@ -48,8 +47,7 @@ public class BigTableWriterTest extends AbstractTransactionalTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD, 0, Int32Type.instance, AsciiType.instance, Int32Type.instance));
cfs = Keyspace.open(KEYSPACE1).getColumnFamilyStore(CF_STANDARD);
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 4037cb7..56d4b1f 100644
--- a/test/unit/org/apache/cassandra/io/sstable/IndexSummaryManagerTest.java
+++ b/test/unit/org/apache/cassandra/io/sstable/IndexSummaryManagerTest.java
@@ -15,23 +15,18 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.cassandra.io.sstable;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
import org.junit.After;
import org.junit.Before;
@@ -41,25 +36,20 @@ import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import junit.framework.Assert;
import org.apache.cassandra.OrderedJUnit4ClassRunner;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
import org.apache.cassandra.cache.CachingOptions;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.ColumnFamilyStore;
-import org.apache.cassandra.db.DecoratedKey;
import org.apache.cassandra.db.Keyspace;
import org.apache.cassandra.db.RowUpdateBuilder;
import org.apache.cassandra.db.rows.*;
-import org.apache.cassandra.db.compaction.CompactionManager;
import org.apache.cassandra.db.compaction.OperationType;
-import org.apache.cassandra.db.partitions.ArrayBackedPartition;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.sstable.format.SSTableReader;
-import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.db.lifecycle.LifecycleTransaction;
import org.apache.cassandra.metrics.RestorableMeter;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import static com.google.common.collect.ImmutableMap.of;
@@ -72,7 +62,6 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertFalse;
@RunWith(OrderedJUnit4ClassRunner.class)
@@ -94,8 +83,7 @@ public class IndexSummaryManagerTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARDLOWiINTERVAL)
.minIndexInterval(8)
.maxIndexInterval(256)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 67c5b51..60cac2b 100644
--- a/test/unit/org/apache/cassandra/io/sstable/LegacySSTableTest.java
+++ b/test/unit/org/apache/cassandra/io/sstable/LegacySSTableTest.java
@@ -15,7 +15,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.cassandra.io.sstable;
import java.io.File;
@@ -30,7 +29,6 @@ import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.db.ColumnFamilyStore;
import org.apache.cassandra.db.DeletionTime;
@@ -45,7 +43,7 @@ import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.sstable.format.SSTableFormat;
import org.apache.cassandra.io.sstable.format.SSTableReader;
import org.apache.cassandra.io.sstable.format.Version;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.streaming.StreamPlan;
import org.apache.cassandra.streaming.StreamSession;
@@ -78,8 +76,7 @@ public class LegacySSTableTest
.build();
SchemaLoader.createKeyspace(KSNAME,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
metadata);
beforeClass();
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/io/sstable/SSTableLoaderTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/io/sstable/SSTableLoaderTest.java b/test/unit/org/apache/cassandra/io/sstable/SSTableLoaderTest.java
index 4e6c75e..f8644bb 100644
--- a/test/unit/org/apache/cassandra/io/sstable/SSTableLoaderTest.java
+++ b/test/unit/org/apache/cassandra/io/sstable/SSTableLoaderTest.java
@@ -27,16 +27,14 @@ 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.KSMetaData;
import org.apache.cassandra.config.Schema;
-import org.apache.cassandra.db.DecoratedKey;
import org.apache.cassandra.db.Keyspace;
import org.apache.cassandra.db.SimpleClustering;
import org.apache.cassandra.db.partitions.*;
import org.apache.cassandra.db.marshal.AsciiType;
import org.apache.cassandra.dht.Range;
import org.apache.cassandra.dht.Token;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
@@ -54,8 +52,7 @@ public class SSTableLoaderTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD));
setup();
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/io/sstable/SSTableMetadataTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/io/sstable/SSTableMetadataTest.java b/test/unit/org/apache/cassandra/io/sstable/SSTableMetadataTest.java
index 31b03db..c587bb3 100644
--- a/test/unit/org/apache/cassandra/io/sstable/SSTableMetadataTest.java
+++ b/test/unit/org/apache/cassandra/io/sstable/SSTableMetadataTest.java
@@ -17,10 +17,8 @@
*/
package org.apache.cassandra.io.sstable;
-import java.nio.ByteBuffer;
import java.nio.charset.CharacterCodingException;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
import java.util.concurrent.ExecutionException;
@@ -30,28 +28,18 @@ 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.KSMetaData;
-import org.apache.cassandra.db.ClusteringComparator;
import org.apache.cassandra.db.ColumnFamilyStore;
import org.apache.cassandra.db.DecoratedKey;
import org.apache.cassandra.db.Keyspace;
-import org.apache.cassandra.db.Mutation;
import org.apache.cassandra.db.RowUpdateBuilder;
-import org.apache.cassandra.db.context.CounterContext;
-import org.apache.cassandra.db.marshal.AbstractType;
import org.apache.cassandra.db.marshal.AsciiType;
-import org.apache.cassandra.db.marshal.BytesType;
-import org.apache.cassandra.db.marshal.CompositeType;
-import org.apache.cassandra.db.marshal.CounterColumnType;
import org.apache.cassandra.db.marshal.IntegerType;
import org.apache.cassandra.io.sstable.format.SSTableReader;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
-import org.apache.cassandra.utils.CounterId;
import static org.apache.cassandra.Util.getBytes;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
public class SSTableMetadataTest
@@ -68,8 +56,7 @@ public class SSTableMetadataTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD2),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD3),
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java b/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
index 3b8b90c..2712b1c 100644
--- a/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
+++ b/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
@@ -15,10 +15,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.cassandra.io.sstable;
-
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.ArrayList;
@@ -42,7 +40,6 @@ import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
import org.apache.cassandra.cache.CachingOptions;
import org.apache.cassandra.config.DatabaseDescriptor;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.cql3.Operator;
import org.apache.cassandra.db.BufferDecoratedKey;
import org.apache.cassandra.db.ColumnFamilyStore;
@@ -55,8 +52,6 @@ import org.apache.cassandra.db.compaction.OperationType;
import org.apache.cassandra.db.lifecycle.LifecycleTransaction;
import org.apache.cassandra.db.index.SecondaryIndexSearcher;
import org.apache.cassandra.db.rows.Row;
-import org.apache.cassandra.db.partitions.ArrayBackedPartition;
-import org.apache.cassandra.db.partitions.UnfilteredPartitionIterator;
import org.apache.cassandra.dht.LocalPartitioner;
import org.apache.cassandra.dht.LocalPartitioner.LocalToken;
import org.apache.cassandra.dht.Range;
@@ -65,15 +60,13 @@ import org.apache.cassandra.io.sstable.format.SSTableReader;
import org.apache.cassandra.io.util.FileDataInput;
import org.apache.cassandra.io.util.MmappedSegmentedFile;
import org.apache.cassandra.io.util.SegmentedFile;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.CacheService;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.ByteBufferUtil;
-import org.apache.cassandra.utils.FBUtilities;
import org.apache.cassandra.utils.Pair;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.apache.cassandra.utils.ByteBufferUtil.bytes;
@@ -96,8 +89,7 @@ public class SSTableReaderTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD2),
SchemaLoader.compositeIndexCFMD(KEYSPACE1, CF_INDEXED, true),
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/io/sstable/SSTableRewriterTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/io/sstable/SSTableRewriterTest.java b/test/unit/org/apache/cassandra/io/sstable/SSTableRewriterTest.java
index 9e4c939..8cee842 100644
--- a/test/unit/org/apache/cassandra/io/sstable/SSTableRewriterTest.java
+++ b/test/unit/org/apache/cassandra/io/sstable/SSTableRewriterTest.java
@@ -63,6 +63,7 @@ import org.apache.cassandra.db.lifecycle.LifecycleTransaction;
import org.apache.cassandra.dht.Range;
import org.apache.cassandra.dht.Token;
import org.apache.cassandra.metrics.StorageMetrics;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
import org.apache.cassandra.utils.Pair;
@@ -80,8 +81,7 @@ public class SSTableRewriterTest extends SchemaLoader
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE, CF));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/io/sstable/SSTableScannerTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/io/sstable/SSTableScannerTest.java b/test/unit/org/apache/cassandra/io/sstable/SSTableScannerTest.java
index 45bca51..846dff5 100644
--- a/test/unit/org/apache/cassandra/io/sstable/SSTableScannerTest.java
+++ b/test/unit/org/apache/cassandra/io/sstable/SSTableScannerTest.java
@@ -46,6 +46,7 @@ import org.apache.cassandra.dht.Range;
import org.apache.cassandra.dht.Token;
import org.apache.cassandra.io.sstable.format.SSTableReader;
import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import static org.apache.cassandra.dht.AbstractBounds.isEmpty;
@@ -63,8 +64,7 @@ public class SSTableScannerTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE, TABLE));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/locator/OldNetworkTopologyStrategyTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/locator/OldNetworkTopologyStrategyTest.java b/test/unit/org/apache/cassandra/locator/OldNetworkTopologyStrategyTest.java
index aac0798..6eb08c4 100644
--- a/test/unit/org/apache/cassandra/locator/OldNetworkTopologyStrategyTest.java
+++ b/test/unit/org/apache/cassandra/locator/OldNetworkTopologyStrategyTest.java
@@ -15,7 +15,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.cassandra.locator;
import java.net.InetAddress;
@@ -23,6 +22,7 @@ import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -31,7 +31,6 @@ import java.util.Set;
import org.junit.Before;
import org.junit.Test;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.dht.RandomPartitioner.BigIntegerToken;
import org.apache.cassandra.dht.Range;
import org.apache.cassandra.dht.Token;
@@ -64,7 +63,7 @@ public class OldNetworkTopologyStrategyTest
{
RackInferringSnitch endpointSnitch = new RackInferringSnitch();
- AbstractReplicationStrategy strategy = new OldNetworkTopologyStrategy("Keyspace1", tmd, endpointSnitch, KSMetaData.optsWithRF(1));
+ AbstractReplicationStrategy strategy = new OldNetworkTopologyStrategy("Keyspace1", tmd, endpointSnitch, optsWithRF(1));
addEndpoint("0", "5", "254.0.0.1");
addEndpoint("10", "15", "254.0.0.2");
addEndpoint("20", "25", "254.0.0.3");
@@ -89,7 +88,7 @@ public class OldNetworkTopologyStrategyTest
{
RackInferringSnitch endpointSnitch = new RackInferringSnitch();
- AbstractReplicationStrategy strategy = new OldNetworkTopologyStrategy("Keyspace1", tmd, endpointSnitch, KSMetaData.optsWithRF(1));
+ AbstractReplicationStrategy strategy = new OldNetworkTopologyStrategy("Keyspace1", tmd, endpointSnitch, optsWithRF(1));
addEndpoint("0", "5", "254.0.0.1");
addEndpoint("10", "15", "254.0.0.2");
addEndpoint("20", "25", "254.1.0.3");
@@ -115,7 +114,7 @@ public class OldNetworkTopologyStrategyTest
{
RackInferringSnitch endpointSnitch = new RackInferringSnitch();
- AbstractReplicationStrategy strategy = new OldNetworkTopologyStrategy("Keyspace1", tmd, endpointSnitch, KSMetaData.optsWithRF(1));
+ AbstractReplicationStrategy strategy = new OldNetworkTopologyStrategy("Keyspace1", tmd, endpointSnitch, optsWithRF(1));
addEndpoint("0", "5", "254.0.0.1");
addEndpoint("10", "15", "254.0.0.2");
addEndpoint("20", "25", "254.0.1.3");
@@ -358,7 +357,7 @@ public class OldNetworkTopologyStrategyTest
TokenMetadata tokenMetadataCurrent = initTokenMetadata(tokens);
TokenMetadata tokenMetadataAfterMove = initTokenMetadata(tokensAfterMove);
- AbstractReplicationStrategy strategy = new OldNetworkTopologyStrategy("Keyspace1", tokenMetadataCurrent, endpointSnitch, KSMetaData.optsWithRF(2));
+ AbstractReplicationStrategy strategy = new OldNetworkTopologyStrategy("Keyspace1", tokenMetadataCurrent, endpointSnitch, optsWithRF(2));
Collection<Range<Token>> currentRanges = strategy.getAddressRanges().get(movingNode);
Collection<Range<Token>> updatedRanges = strategy.getPendingAddressRanges(tokenMetadataAfterMove, tokensAfterMove[movingNodeIdx], movingNode);
@@ -368,5 +367,8 @@ public class OldNetworkTopologyStrategyTest
return ranges;
}
-
+ private static Map<String, String> optsWithRF(int rf)
+ {
+ return Collections.singletonMap("replication_factor", Integer.toString(rf));
+ }
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/locator/ReplicationStrategyEndpointCacheTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/locator/ReplicationStrategyEndpointCacheTest.java b/test/unit/org/apache/cassandra/locator/ReplicationStrategyEndpointCacheTest.java
index de2b02a..c811811 100644
--- a/test/unit/org/apache/cassandra/locator/ReplicationStrategyEndpointCacheTest.java
+++ b/test/unit/org/apache/cassandra/locator/ReplicationStrategyEndpointCacheTest.java
@@ -15,7 +15,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.cassandra.locator;
import java.net.InetAddress;
@@ -29,11 +28,11 @@ import org.junit.BeforeClass;
import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.Keyspace;
import org.apache.cassandra.dht.RandomPartitioner.BigIntegerToken;
import org.apache.cassandra.dht.Token;
import org.apache.cassandra.exceptions.ConfigurationException;
+import org.apache.cassandra.schema.KeyspaceParams;
public class ReplicationStrategyEndpointCacheTest
{
@@ -47,8 +46,7 @@ public class ReplicationStrategyEndpointCacheTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(5));
+ KeyspaceParams.simple(5));
}
public void setup(Class stratClass, Map<String, String> strategyOptions) throws Exception
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/locator/SimpleStrategyTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/locator/SimpleStrategyTest.java b/test/unit/org/apache/cassandra/locator/SimpleStrategyTest.java
index a806cda..14683eb 100644
--- a/test/unit/org/apache/cassandra/locator/SimpleStrategyTest.java
+++ b/test/unit/org/apache/cassandra/locator/SimpleStrategyTest.java
@@ -15,7 +15,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.cassandra.locator;
import java.net.InetAddress;
@@ -37,6 +36,7 @@ import org.apache.cassandra.dht.OrderPreservingPartitioner;
import org.apache.cassandra.dht.OrderPreservingPartitioner.StringToken;
import org.apache.cassandra.dht.RandomPartitioner.BigIntegerToken;
import org.apache.cassandra.dht.Token;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.PendingRangeCalculatorService;
import org.apache.cassandra.service.StorageServiceAccessor;
import org.apache.cassandra.utils.ByteBufferUtil;
@@ -53,9 +53,7 @@ public class SimpleStrategyTest
public static void defineSchema() throws Exception
{
SchemaLoader.prepareServer();
- SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1));
+ SchemaLoader.createKeyspace(KEYSPACE1, KeyspaceParams.simple(1));
}
@Test
@@ -186,9 +184,9 @@ public class SimpleStrategyTest
KSMetaData ksmd = Schema.instance.getKSMetaData(keyspaceName);
return AbstractReplicationStrategy.createReplicationStrategy(
keyspaceName,
- ksmd.strategyClass,
+ ksmd.params.replication.klass,
tmd,
new SimpleSnitch(),
- ksmd.strategyOptions);
+ ksmd.params.replication.options);
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/repair/LocalSyncTaskTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/repair/LocalSyncTaskTest.java b/test/unit/org/apache/cassandra/repair/LocalSyncTaskTest.java
index b4d3051..77a6ac4 100644
--- a/test/unit/org/apache/cassandra/repair/LocalSyncTaskTest.java
+++ b/test/unit/org/apache/cassandra/repair/LocalSyncTaskTest.java
@@ -28,14 +28,13 @@ import org.junit.BeforeClass;
import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.ColumnFamilyStore;
import org.apache.cassandra.db.Keyspace;
import org.apache.cassandra.dht.IPartitioner;
import org.apache.cassandra.dht.Murmur3Partitioner;
import org.apache.cassandra.dht.Range;
import org.apache.cassandra.dht.Token;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.ActiveRepairService;
import org.apache.cassandra.utils.MerkleTree;
@@ -52,8 +51,7 @@ public class LocalSyncTaskTest extends SchemaLoader
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/repair/ValidatorTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/repair/ValidatorTest.java b/test/unit/org/apache/cassandra/repair/ValidatorTest.java
index f9caf43..e18dc1d 100644
--- a/test/unit/org/apache/cassandra/repair/ValidatorTest.java
+++ b/test/unit/org/apache/cassandra/repair/ValidatorTest.java
@@ -26,7 +26,6 @@ import org.junit.BeforeClass;
import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.BufferDecoratedKey;
import org.apache.cassandra.db.ColumnFamilyStore;
import org.apache.cassandra.db.Keyspace;
@@ -34,16 +33,15 @@ import org.apache.cassandra.db.rows.UnfilteredRowIterators;
import org.apache.cassandra.dht.IPartitioner;
import org.apache.cassandra.dht.Range;
import org.apache.cassandra.dht.Token;
-import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.net.IMessageSink;
import org.apache.cassandra.net.MessageIn;
import org.apache.cassandra.net.MessageOut;
import org.apache.cassandra.net.MessagingService;
import org.apache.cassandra.repair.messages.RepairMessage;
import org.apache.cassandra.repair.messages.ValidationComplete;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.ByteBufferUtil;
-import org.apache.cassandra.utils.FBUtilities;
import org.apache.cassandra.utils.MerkleTree;
import org.apache.cassandra.utils.concurrent.SimpleCondition;
@@ -64,8 +62,7 @@ public class ValidatorTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(keyspace,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(keyspace, columnFamily));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/schema/DefsTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/schema/DefsTest.java b/test/unit/org/apache/cassandra/schema/DefsTest.java
index ce5c25e..38e3cf5 100644
--- a/test/unit/org/apache/cassandra/schema/DefsTest.java
+++ b/test/unit/org/apache/cassandra/schema/DefsTest.java
@@ -20,6 +20,8 @@ package org.apache.cassandra.schema;
import java.io.File;
import java.nio.ByteBuffer;
+import java.util.HashMap;
+import java.util.Map;
import java.util.function.Supplier;
import org.junit.BeforeClass;
@@ -37,17 +39,14 @@ import org.apache.cassandra.config.Schema;
import org.apache.cassandra.cql3.QueryProcessor;
import org.apache.cassandra.cql3.UntypedResultSet;
import org.apache.cassandra.db.ColumnFamilyStore;
-import org.apache.cassandra.db.DecoratedKey;
import org.apache.cassandra.db.Keyspace;
import org.apache.cassandra.db.marshal.BytesType;
-import org.apache.cassandra.db.marshal.TimeUUIDType;
import org.apache.cassandra.db.marshal.UTF8Type;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.sstable.Component;
import org.apache.cassandra.io.sstable.Descriptor;
import org.apache.cassandra.io.sstable.SSTableDeletingTask;
import org.apache.cassandra.locator.OldNetworkTopologyStrategy;
-import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.service.MigrationManager;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
@@ -78,18 +77,15 @@ public class DefsTest
SchemaLoader.prepareServer();
SchemaLoader.startGossiper();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, TABLE1),
SchemaLoader.standardCFMD(KEYSPACE1, TABLE2));
- SchemaLoader.createKeyspace(KEYSPACE3, true, false,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(5),
+ SchemaLoader.createKeyspace(KEYSPACE3,
+ KeyspaceParams.simple(5),
SchemaLoader.standardCFMD(KEYSPACE1, TABLE1),
SchemaLoader.compositeIndexCFMD(KEYSPACE3, TABLE1i, true));
SchemaLoader.createKeyspace(KEYSPACE6,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.compositeIndexCFMD(KEYSPACE6, TABLE1i, true));
}
@@ -262,7 +258,7 @@ public class DefsTest
public void addNewKS() throws ConfigurationException
{
CFMetaData cfm = addTestTable("newkeyspace1", "newstandard1", "A new cf for a new ks");
- KSMetaData newKs = KSMetaData.testMetadata(cfm.ksName, SimpleStrategy.class, KSMetaData.optsWithRF(5), cfm);
+ KSMetaData newKs = KSMetaData.create(cfm.ksName, KeyspaceParams.simple(5), Tables.of(cfm));
MigrationManager.announceNewKeyspace(newKs);
assertNotNull(Schema.instance.getKSMetaData(cfm.ksName));
@@ -353,7 +349,7 @@ public class DefsTest
public void createEmptyKsAddNewCf() throws ConfigurationException
{
assertNull(Schema.instance.getKSMetaData(EMPTY_KEYSPACE));
- KSMetaData newKs = KSMetaData.testMetadata(EMPTY_KEYSPACE, SimpleStrategy.class, KSMetaData.optsWithRF(5));
+ KSMetaData newKs = KSMetaData.create(EMPTY_KEYSPACE, KeyspaceParams.simple(5));
MigrationManager.announceNewKeyspace(newKs);
assertNotNull(Schema.instance.getKSMetaData(EMPTY_KEYSPACE));
@@ -387,7 +383,7 @@ public class DefsTest
{
// create a keyspace to serve as existing.
CFMetaData cf = addTestTable("UpdatedKeyspace", "AddedStandard1", "A new cf for a new ks");
- KSMetaData oldKs = KSMetaData.testMetadata(cf.ksName, SimpleStrategy.class, KSMetaData.optsWithRF(5), cf);
+ KSMetaData oldKs = KSMetaData.create(cf.ksName, KeyspaceParams.simple(5), Tables.of(cf));
MigrationManager.announceNewKeyspace(oldKs);
@@ -395,7 +391,7 @@ public class DefsTest
assertEquals(Schema.instance.getKSMetaData(cf.ksName), oldKs);
// names should match.
- KSMetaData newBadKs2 = KSMetaData.testMetadata(cf.ksName + "trash", SimpleStrategy.class, KSMetaData.optsWithRF(4));
+ KSMetaData newBadKs2 = KSMetaData.create(cf.ksName + "trash", KeyspaceParams.simple(4));
try
{
MigrationManager.announceKeyspaceUpdate(newBadKs2);
@@ -406,12 +402,16 @@ public class DefsTest
// expected.
}
- KSMetaData newKs = KSMetaData.testMetadata(cf.ksName, OldNetworkTopologyStrategy.class, KSMetaData.optsWithRF(1));
+ Map<String, String> replicationMap = new HashMap<>();
+ replicationMap.put(KeyspaceParams.Replication.CLASS, OldNetworkTopologyStrategy.class.getName());
+ replicationMap.put("replication_factor", "1");
+
+ KSMetaData newKs = KSMetaData.create(cf.ksName, KeyspaceParams.create(true, replicationMap));
MigrationManager.announceKeyspaceUpdate(newKs);
KSMetaData newFetchedKs = Schema.instance.getKSMetaData(newKs.name);
- assertEquals(newFetchedKs.strategyClass, newKs.strategyClass);
- assertFalse(newFetchedKs.strategyClass.equals(oldKs.strategyClass));
+ assertEquals(newFetchedKs.params.replication.klass, newKs.params.replication.klass);
+ assertFalse(newFetchedKs.params.replication.klass.equals(oldKs.params.replication.klass));
}
/*
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/service/ActiveRepairServiceTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/service/ActiveRepairServiceTest.java b/test/unit/org/apache/cassandra/service/ActiveRepairServiceTest.java
index 25d4134..75b99d4 100644
--- a/test/unit/org/apache/cassandra/service/ActiveRepairServiceTest.java
+++ b/test/unit/org/apache/cassandra/service/ActiveRepairServiceTest.java
@@ -28,15 +28,14 @@ import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.config.DatabaseDescriptor;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.ColumnFamilyStore;
import org.apache.cassandra.db.Keyspace;
import org.apache.cassandra.dht.Range;
import org.apache.cassandra.dht.Token;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.locator.AbstractReplicationStrategy;
-import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.locator.TokenMetadata;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.FBUtilities;
import static org.junit.Assert.assertEquals;
@@ -58,10 +57,9 @@ public class ActiveRepairServiceTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE5,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(2),
- SchemaLoader.standardCFMD(KEYSPACE5, CF_COUNTER),
- SchemaLoader.standardCFMD(KEYSPACE5, CF_STANDRAD1));
+ KeyspaceParams.simple(2),
+ SchemaLoader.standardCFMD(KEYSPACE5, CF_COUNTER),
+ SchemaLoader.standardCFMD(KEYSPACE5, CF_STANDRAD1));
}
@Before
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/service/DataResolverTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/service/DataResolverTest.java b/test/unit/org/apache/cassandra/service/DataResolverTest.java
index b4902a7..d752539 100644
--- a/test/unit/org/apache/cassandra/service/DataResolverTest.java
+++ b/test/unit/org/apache/cassandra/service/DataResolverTest.java
@@ -1,6 +1,4 @@
-package org.apache.cassandra.service;
/*
- *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -17,9 +15,8 @@ package org.apache.cassandra.service;
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
*/
-
+package org.apache.cassandra.service;
import java.net.InetAddress;
import java.net.UnknownHostException;
@@ -31,15 +28,14 @@ import org.junit.*;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
import org.apache.cassandra.config.CFMetaData;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.*;
import org.apache.cassandra.db.rows.*;
import org.apache.cassandra.db.marshal.AsciiType;
import org.apache.cassandra.db.marshal.BytesType;
import org.apache.cassandra.db.partitions.*;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.net.*;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.FBUtilities;
import static org.apache.cassandra.Util.assertClustering;
@@ -80,8 +76,7 @@ public class DataResolverTest
.build();
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
cfMetadata);
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/service/EmbeddedCassandraServiceTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/service/EmbeddedCassandraServiceTest.java b/test/unit/org/apache/cassandra/service/EmbeddedCassandraServiceTest.java
index b9367e4..b89f01d 100644
--- a/test/unit/org/apache/cassandra/service/EmbeddedCassandraServiceTest.java
+++ b/test/unit/org/apache/cassandra/service/EmbeddedCassandraServiceTest.java
@@ -28,9 +28,8 @@ import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.DatabaseDescriptor;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.marshal.AsciiType;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.thrift.*;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.thrift.TException;
@@ -63,13 +62,12 @@ public class EmbeddedCassandraServiceTest
SchemaLoader.prepareServer();
setup();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
- CFMetaData.Builder.create(KEYSPACE1, CF_STANDARD, true, false, false)
- .addPartitionKey("pk", AsciiType.instance)
- .addClusteringColumn("ck", AsciiType.instance)
- .addRegularColumn("val", AsciiType.instance)
- .build());
+ KeyspaceParams.simple(1),
+ CFMetaData.Builder.create(KEYSPACE1, CF_STANDARD, true, false, false)
+ .addPartitionKey("pk", AsciiType.instance)
+ .addClusteringColumn("ck", AsciiType.instance)
+ .addRegularColumn("val", AsciiType.instance)
+ .build());
}
/**
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
index c2a9769..450f226 100644
--- a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
+++ b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
@@ -714,10 +714,10 @@ public class LeaveAndBootstrapTest
KSMetaData ksmd = Schema.instance.getKSMetaData(keyspaceName);
return AbstractReplicationStrategy.createReplicationStrategy(
keyspaceName,
- ksmd.strategyClass,
+ ksmd.params.replication.klass,
tmd,
new SimpleSnitch(),
- ksmd.strategyOptions);
+ ksmd.params.replication.options);
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/service/MoveTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/service/MoveTest.java b/test/unit/org/apache/cassandra/service/MoveTest.java
index cf20273..b69d544 100644
--- a/test/unit/org/apache/cassandra/service/MoveTest.java
+++ b/test/unit/org/apache/cassandra/service/MoveTest.java
@@ -560,10 +560,10 @@ public class MoveTest
KSMetaData ksmd = Schema.instance.getKSMetaData(keyspaceName);
return AbstractReplicationStrategy.createReplicationStrategy(
keyspaceName,
- ksmd.strategyClass,
+ ksmd.params.replication.klass,
tmd,
new SimpleSnitch(),
- ksmd.strategyOptions);
+ ksmd.params.replication.options);
}
private Token positionToken(int position)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/service/QueryPagerTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/service/QueryPagerTest.java b/test/unit/org/apache/cassandra/service/QueryPagerTest.java
index 7aa1f87..228b2a9 100644
--- a/test/unit/org/apache/cassandra/service/QueryPagerTest.java
+++ b/test/unit/org/apache/cassandra/service/QueryPagerTest.java
@@ -28,7 +28,6 @@ import org.junit.runner.RunWith;
import org.apache.cassandra.*;
import org.apache.cassandra.config.CFMetaData;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.*;
import org.apache.cassandra.db.rows.Row;
import org.apache.cassandra.db.rows.RowIterator;
@@ -36,7 +35,7 @@ import org.apache.cassandra.db.filter.*;
import org.apache.cassandra.db.partitions.FilteredPartition;
import org.apache.cassandra.db.partitions.PartitionIterator;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.pager.QueryPager;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
@@ -58,12 +57,10 @@ public class QueryPagerTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD));
SchemaLoader.createKeyspace(KEYSPACE_CQL,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
CFMetaData.compile("CREATE TABLE " + CF_CQL + " ("
+ "k text,"
+ "c text,"
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/service/StorageServiceServerTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/service/StorageServiceServerTest.java b/test/unit/org/apache/cassandra/service/StorageServiceServerTest.java
index 24d57e7..3ec6264 100644
--- a/test/unit/org/apache/cassandra/service/StorageServiceServerTest.java
+++ b/test/unit/org/apache/cassandra/service/StorageServiceServerTest.java
@@ -46,6 +46,7 @@ import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.locator.IEndpointSnitch;
import org.apache.cassandra.locator.PropertyFileSnitch;
import org.apache.cassandra.locator.TokenMetadata;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.schema.LegacySchemaTables;
import static org.junit.Assert.assertEquals;
@@ -118,9 +119,10 @@ public class StorageServiceServerTest
Map<String, String> configOptions = new HashMap<>();
configOptions.put("DC1", "1");
configOptions.put("DC2", "1");
+ configOptions.put(KeyspaceParams.Replication.CLASS, "NetworkTopologyStrategy");
Keyspace.clear("Keyspace1");
- KSMetaData meta = KSMetaData.newKeyspace("Keyspace1", "NetworkTopologyStrategy", configOptions, false);
+ KSMetaData meta = KSMetaData.create("Keyspace1", KeyspaceParams.create(false, configOptions));
Schema.instance.setKeyspaceDefinition(meta);
Collection<Range<Token>> primaryRanges = StorageService.instance.getPrimaryRangeForEndpointWithinDC(meta.name,
@@ -160,9 +162,10 @@ public class StorageServiceServerTest
Map<String, String> configOptions = new HashMap<>();
configOptions.put("DC1", "1");
configOptions.put("DC2", "1");
+ configOptions.put(KeyspaceParams.Replication.CLASS, "NetworkTopologyStrategy");
Keyspace.clear("Keyspace1");
- KSMetaData meta = KSMetaData.newKeyspace("Keyspace1", "NetworkTopologyStrategy", configOptions, false);
+ KSMetaData meta = KSMetaData.create("Keyspace1", KeyspaceParams.create(false, configOptions));
Schema.instance.setKeyspaceDefinition(meta);
Collection<Range<Token>> primaryRanges = StorageService.instance.getPrimaryRangesForEndpoint(meta.name, InetAddress.getByName("127.0.0.1"));
@@ -196,9 +199,10 @@ public class StorageServiceServerTest
Map<String, String> configOptions = new HashMap<>();
configOptions.put("DC2", "2");
+ configOptions.put(KeyspaceParams.Replication.CLASS, "NetworkTopologyStrategy");
Keyspace.clear("Keyspace1");
- KSMetaData meta = KSMetaData.newKeyspace("Keyspace1", "NetworkTopologyStrategy", configOptions, false);
+ KSMetaData meta = KSMetaData.create("Keyspace1", KeyspaceParams.create(false, configOptions));
Schema.instance.setKeyspaceDefinition(meta);
// endpoints in DC1 should not have primary range
@@ -234,9 +238,10 @@ public class StorageServiceServerTest
Map<String, String> configOptions = new HashMap<>();
configOptions.put("DC2", "2");
+ configOptions.put(KeyspaceParams.Replication.CLASS, "NetworkTopologyStrategy");
Keyspace.clear("Keyspace1");
- KSMetaData meta = KSMetaData.newKeyspace("Keyspace1", "NetworkTopologyStrategy", configOptions, false);
+ KSMetaData meta = KSMetaData.create("Keyspace1", KeyspaceParams.create(false, configOptions));
Schema.instance.setKeyspaceDefinition(meta);
// endpoints in DC1 should not have primary range
@@ -285,9 +290,10 @@ public class StorageServiceServerTest
Map<String, String> configOptions = new HashMap<>();
configOptions.put("DC2", "2");
+ configOptions.put(KeyspaceParams.Replication.CLASS, "NetworkTopologyStrategy");
Keyspace.clear("Keyspace1");
- KSMetaData meta = KSMetaData.newKeyspace("Keyspace1", "NetworkTopologyStrategy", configOptions, false);
+ KSMetaData meta = KSMetaData.create("Keyspace1", KeyspaceParams.create(false, configOptions));
Schema.instance.setKeyspaceDefinition(meta);
// endpoints in DC1 should not have primary range
@@ -351,9 +357,10 @@ public class StorageServiceServerTest
Map<String, String> configOptions = new HashMap<>();
configOptions.put("DC1", "1");
configOptions.put("DC2", "2");
+ configOptions.put(KeyspaceParams.Replication.CLASS, "NetworkTopologyStrategy");
Keyspace.clear("Keyspace1");
- KSMetaData meta = KSMetaData.newKeyspace("Keyspace1", "NetworkTopologyStrategy", configOptions, false);
+ KSMetaData meta = KSMetaData.create("Keyspace1", KeyspaceParams.create(false, configOptions));
Schema.instance.setKeyspaceDefinition(meta);
// endpoints in DC1 should have primary ranges which also cover DC2
@@ -411,11 +418,8 @@ public class StorageServiceServerTest
metadata.updateNormalToken(new StringToken("B"), InetAddress.getByName("127.0.0.2"));
metadata.updateNormalToken(new StringToken("C"), InetAddress.getByName("127.0.0.3"));
- Map<String, String> configOptions = new HashMap<>();
- configOptions.put("replication_factor", "2");
-
Keyspace.clear("Keyspace1");
- KSMetaData meta = KSMetaData.newKeyspace("Keyspace1", "SimpleStrategy", configOptions, false);
+ KSMetaData meta = KSMetaData.create("Keyspace1", KeyspaceParams.simpleTransient(2));
Schema.instance.setKeyspaceDefinition(meta);
Collection<Range<Token>> primaryRanges = StorageService.instance.getPrimaryRangesForEndpoint(meta.name, InetAddress.getByName("127.0.0.1"));
@@ -446,7 +450,7 @@ public class StorageServiceServerTest
configOptions.put("replication_factor", "2");
Keyspace.clear("Keyspace1");
- KSMetaData meta = KSMetaData.newKeyspace("Keyspace1", "SimpleStrategy", configOptions, false);
+ KSMetaData meta = KSMetaData.create("Keyspace1", KeyspaceParams.simpleTransient(2));
Schema.instance.setKeyspaceDefinition(meta);
Collection<Range<Token>> primaryRanges = StorageService.instance.getPrimaryRangeForEndpointWithinDC(meta.name, InetAddress.getByName("127.0.0.1"));
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/streaming/StreamTransferTaskTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/streaming/StreamTransferTaskTest.java b/test/unit/org/apache/cassandra/streaming/StreamTransferTaskTest.java
index 06c9fc0..6227a1f 100644
--- a/test/unit/org/apache/cassandra/streaming/StreamTransferTaskTest.java
+++ b/test/unit/org/apache/cassandra/streaming/StreamTransferTaskTest.java
@@ -29,14 +29,13 @@ import org.junit.Test;
import junit.framework.Assert;
import org.apache.cassandra.SchemaLoader;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.ColumnFamilyStore;
import org.apache.cassandra.db.Keyspace;
import org.apache.cassandra.dht.Range;
import org.apache.cassandra.dht.Token;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.sstable.format.SSTableReader;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.FBUtilities;
import static org.junit.Assert.assertEquals;
@@ -52,9 +51,8 @@ public class StreamTransferTaskTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
- SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD));
+ KeyspaceParams.simple(1),
+ SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD));
}
@Test
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java b/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java
index 3fe8d7a..0a3c02a 100644
--- a/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java
+++ b/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java
@@ -37,7 +37,6 @@ import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.DatabaseDescriptor;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.cql3.QueryProcessor;
import org.apache.cassandra.cql3.UntypedResultSet;
import org.apache.cassandra.db.*;
@@ -48,7 +47,7 @@ import org.apache.cassandra.dht.IPartitioner;
import org.apache.cassandra.dht.Range;
import org.apache.cassandra.dht.Token;
import org.apache.cassandra.io.sstable.format.SSTableReader;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
@@ -79,27 +78,24 @@ public class StreamingTransferTest
SchemaLoader.prepareServer();
StorageService.instance.initServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
- SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD),
- CFMetaData.Builder.create(KEYSPACE1, CF_COUNTER, false, true, true)
- .addPartitionKey("key", BytesType.instance)
- .build(),
- CFMetaData.Builder.create(KEYSPACE1, CF_STANDARDINT)
- .addPartitionKey("key", AsciiType.instance)
- .addClusteringColumn("cols", Int32Type.instance)
- .addRegularColumn("val", BytesType.instance)
- .build(),
- SchemaLoader.compositeIndexCFMD(KEYSPACE1, CF_INDEX, true));
+ KeyspaceParams.simple(1),
+ SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD),
+ CFMetaData.Builder.create(KEYSPACE1, CF_COUNTER, false, true, true)
+ .addPartitionKey("key", BytesType.instance)
+ .build(),
+ CFMetaData.Builder.create(KEYSPACE1, CF_STANDARDINT)
+ .addPartitionKey("key", AsciiType.instance)
+ .addClusteringColumn("cols", Int32Type.instance)
+ .addRegularColumn("val", BytesType.instance)
+ .build(),
+ SchemaLoader.compositeIndexCFMD(KEYSPACE1, CF_INDEX, true));
SchemaLoader.createKeyspace(KEYSPACE2,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1));
+ KeyspaceParams.simple(1));
SchemaLoader.createKeyspace(KEYSPACE_CACHEKEY,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
- SchemaLoader.standardCFMD(KEYSPACE_CACHEKEY, CF_STANDARD),
- SchemaLoader.standardCFMD(KEYSPACE_CACHEKEY, CF_STANDARD2),
- SchemaLoader.standardCFMD(KEYSPACE_CACHEKEY, CF_STANDARD3));
+ KeyspaceParams.simple(1),
+ SchemaLoader.standardCFMD(KEYSPACE_CACHEKEY, CF_STANDARD),
+ SchemaLoader.standardCFMD(KEYSPACE_CACHEKEY, CF_STANDARD2),
+ SchemaLoader.standardCFMD(KEYSPACE_CACHEKEY, CF_STANDARD3));
}
/**
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/triggers/TriggersSchemaTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/triggers/TriggersSchemaTest.java b/test/unit/org/apache/cassandra/triggers/TriggersSchemaTest.java
index 7097b9a..5b61124 100644
--- a/test/unit/org/apache/cassandra/triggers/TriggersSchemaTest.java
+++ b/test/unit/org/apache/cassandra/triggers/TriggersSchemaTest.java
@@ -17,8 +17,6 @@
*/
package org.apache.cassandra.triggers;
-import java.util.Collections;
-
import org.junit.BeforeClass;
import org.junit.Test;
@@ -28,7 +26,8 @@ import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.config.TriggerDefinition;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
+import org.apache.cassandra.schema.Tables;
import org.apache.cassandra.service.MigrationManager;
import static org.junit.Assert.*;
@@ -52,11 +51,7 @@ public class TriggersSchemaTest
TriggerDefinition td = TriggerDefinition.create(triggerName, triggerClass);
CFMetaData cfm1 = CFMetaData.compile(String.format("CREATE TABLE %s (k int PRIMARY KEY, v int)", cfName), ksName);
cfm1.addTriggerDefinition(td);
- KSMetaData ksm = KSMetaData.newKeyspace(ksName,
- SimpleStrategy.class,
- Collections.singletonMap("replication_factor", "1"),
- true,
- Collections.singletonList(cfm1));
+ KSMetaData ksm = KSMetaData.create(ksName, KeyspaceParams.simple(1), Tables.of(cfm1));
MigrationManager.announceNewKeyspace(ksm);
CFMetaData cfm2 = Schema.instance.getCFMetaData(ksName, cfName);
@@ -68,11 +63,7 @@ public class TriggersSchemaTest
@Test
public void addNewCfWithTriggerToKs() throws Exception
{
- KSMetaData ksm = KSMetaData.newKeyspace(ksName,
- SimpleStrategy.class,
- Collections.singletonMap("replication_factor", "1"),
- true,
- Collections.EMPTY_LIST);
+ KSMetaData ksm = KSMetaData.create(ksName, KeyspaceParams.simple(1));
MigrationManager.announceNewKeyspace(ksm);
CFMetaData cfm1 = CFMetaData.compile(String.format("CREATE TABLE %s (k int PRIMARY KEY, v int)", cfName), ksName);
@@ -91,11 +82,7 @@ public class TriggersSchemaTest
public void addTriggerToCf() throws Exception
{
CFMetaData cfm1 = CFMetaData.compile(String.format("CREATE TABLE %s (k int PRIMARY KEY, v int)", cfName), ksName);
- KSMetaData ksm = KSMetaData.newKeyspace(ksName,
- SimpleStrategy.class,
- Collections.singletonMap("replication_factor", "1"),
- true,
- Collections.singletonList(cfm1));
+ KSMetaData ksm = KSMetaData.create(ksName, KeyspaceParams.simple(1), Tables.of(cfm1));
MigrationManager.announceNewKeyspace(ksm);
CFMetaData cfm2 = Schema.instance.getCFMetaData(ksName, cfName).copy();
@@ -115,11 +102,7 @@ public class TriggersSchemaTest
TriggerDefinition td = TriggerDefinition.create(triggerName, triggerClass);
CFMetaData cfm1 = CFMetaData.compile(String.format("CREATE TABLE %s (k int PRIMARY KEY, v int)", cfName), ksName);
cfm1.addTriggerDefinition(td);
- KSMetaData ksm = KSMetaData.newKeyspace(ksName,
- SimpleStrategy.class,
- Collections.singletonMap("replication_factor", "1"),
- true,
- Collections.singletonList(cfm1));
+ KSMetaData ksm = KSMetaData.create(ksName, KeyspaceParams.simple(1), Tables.of(cfm1));
MigrationManager.announceNewKeyspace(ksm);
CFMetaData cfm2 = Schema.instance.getCFMetaData(ksName, cfName).copy();
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/utils/EncodedStreamsTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/utils/EncodedStreamsTest.java b/test/unit/org/apache/cassandra/utils/EncodedStreamsTest.java
index db04ddb..a2cff63 100644
--- a/test/unit/org/apache/cassandra/utils/EncodedStreamsTest.java
+++ b/test/unit/org/apache/cassandra/utils/EncodedStreamsTest.java
@@ -26,14 +26,13 @@ import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.config.CFMetaData;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.Keyspace;
import org.apache.cassandra.db.RowUpdateBuilder;
import org.apache.cassandra.db.TypeSizes;
import org.apache.cassandra.db.rows.*;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.net.MessagingService;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.vint.EncodedDataInputStream;
import org.apache.cassandra.utils.vint.EncodedDataOutputStream;
@@ -50,10 +49,9 @@ public class EncodedStreamsTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
- SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD),
- SchemaLoader.counterCFMD(KEYSPACE1, CF_COUNTER));
+ KeyspaceParams.simple(1),
+ SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD),
+ SchemaLoader.counterCFMD(KEYSPACE1, CF_COUNTER));
}
@Test
[2/3] cassandra git commit: Factor out KSMetaData.KeyspaceParams
Posted by al...@apache.org.
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/cache/CacheProviderTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cache/CacheProviderTest.java b/test/unit/org/apache/cassandra/cache/CacheProviderTest.java
index d92d427..0448a16 100644
--- a/test/unit/org/apache/cassandra/cache/CacheProviderTest.java
+++ b/test/unit/org/apache/cassandra/cache/CacheProviderTest.java
@@ -1,6 +1,4 @@
-package org.apache.cassandra.cache;
/*
- *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -17,16 +15,14 @@ package org.apache.cassandra.cache;
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
*/
-
+package org.apache.cassandra.cache;
import java.nio.ByteBuffer;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.*;
-import org.apache.cassandra.Util;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
@@ -34,14 +30,13 @@ import static org.junit.Assert.*;
import com.googlecode.concurrentlinkedhashmap.Weighers;
import org.apache.cassandra.config.CFMetaData;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.*;
import org.apache.cassandra.db.rows.*;
import org.apache.cassandra.db.marshal.AsciiType;
import org.apache.cassandra.db.partitions.*;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.SchemaLoader;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.FBUtilities;
public class CacheProviderTest
@@ -67,8 +62,7 @@ public class CacheProviderTest
.addRegularColumn("col1", AsciiType.instance)
.build();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
cfm);
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/config/CFMetaDataTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/config/CFMetaDataTest.java b/test/unit/org/apache/cassandra/config/CFMetaDataTest.java
index 4a69a7c..c302f4b 100644
--- a/test/unit/org/apache/cassandra/config/CFMetaDataTest.java
+++ b/test/unit/org/apache/cassandra/config/CFMetaDataTest.java
@@ -1,4 +1,4 @@
-/**
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -31,7 +31,7 @@ import org.apache.cassandra.db.rows.UnfilteredRowIterators;
import org.apache.cassandra.db.partitions.PartitionUpdate;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.compress.*;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.schema.LegacySchemaTables;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.thrift.CfDef;
@@ -69,8 +69,7 @@ public class CFMetaDataTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/config/DatabaseDescriptorTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/config/DatabaseDescriptorTest.java b/test/unit/org/apache/cassandra/config/DatabaseDescriptorTest.java
index e851ab6..ecffd6f 100644
--- a/test/unit/org/apache/cassandra/config/DatabaseDescriptorTest.java
+++ b/test/unit/org/apache/cassandra/config/DatabaseDescriptorTest.java
@@ -34,7 +34,7 @@ import org.apache.cassandra.db.Keyspace;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.exceptions.InvalidRequestException;
import org.apache.cassandra.gms.Gossiper;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.MigrationManager;
import org.apache.cassandra.thrift.ThriftConversion;
@@ -87,8 +87,8 @@ public class DatabaseDescriptorTest
try
{
// add a few.
- MigrationManager.announceNewKeyspace(KSMetaData.testMetadata("ks0", SimpleStrategy.class, KSMetaData.optsWithRF(3)));
- MigrationManager.announceNewKeyspace(KSMetaData.testMetadata("ks1", SimpleStrategy.class, KSMetaData.optsWithRF(3)));
+ MigrationManager.announceNewKeyspace(KSMetaData.create("ks0", KeyspaceParams.simple(3)));
+ MigrationManager.announceNewKeyspace(KSMetaData.create("ks1", KeyspaceParams.simple(3)));
assertNotNull(Schema.instance.getKSMetaData("ks0"));
assertNotNull(Schema.instance.getKSMetaData("ks1"));
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/config/KSMetaDataTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/config/KSMetaDataTest.java b/test/unit/org/apache/cassandra/config/KSMetaDataTest.java
deleted file mode 100644
index 39be913..0000000
--- a/test/unit/org/apache/cassandra/config/KSMetaDataTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.cassandra.config;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.cassandra.locator.SimpleStrategy;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertTrue;
-
-public class KSMetaDataTest
-{
- @Test
- public void testToStringHasStrategyOptions() throws Exception
- {
- Map<String, String> options = new HashMap<String, String>();
- options.put("key1", "value1");
- options.put("key2", "value2");
- options.put("key3", "value3");
-
- KSMetaData ksMeta = new KSMetaData("test", SimpleStrategy.class, options, true);
-
- assertTrue(ksMeta.toString().contains(options.toString()));
- }
-}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/config/LegacySchemaTablesTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/config/LegacySchemaTablesTest.java b/test/unit/org/apache/cassandra/config/LegacySchemaTablesTest.java
index b7a2a37..a9aca36 100644
--- a/test/unit/org/apache/cassandra/config/LegacySchemaTablesTest.java
+++ b/test/unit/org/apache/cassandra/config/LegacySchemaTablesTest.java
@@ -1,4 +1,4 @@
-/**
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -31,7 +31,7 @@ import org.apache.cassandra.db.marshal.AsciiType;
import org.apache.cassandra.db.marshal.UTF8Type;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.compress.*;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.schema.LegacySchemaTables;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.thrift.CfDef;
@@ -69,8 +69,7 @@ public class LegacySchemaTablesTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/cql3/ThriftCompatibilityTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/ThriftCompatibilityTest.java b/test/unit/org/apache/cassandra/cql3/ThriftCompatibilityTest.java
index 17e50b3..71b469b 100644
--- a/test/unit/org/apache/cassandra/cql3/ThriftCompatibilityTest.java
+++ b/test/unit/org/apache/cassandra/cql3/ThriftCompatibilityTest.java
@@ -21,14 +21,11 @@ import org.junit.BeforeClass;
import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
-import org.apache.cassandra.config.KSMetaData;
-import org.apache.cassandra.config.Schema;
import org.apache.cassandra.db.marshal.Int32Type;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
public class ThriftCompatibilityTest extends SchemaLoader
{
@@ -37,15 +34,14 @@ public class ThriftCompatibilityTest extends SchemaLoader
{
// The before class annotation of SchemaLoader will prepare the service so no need to do it here
SchemaLoader.createKeyspace("thriftcompat",
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
- SchemaLoader.jdbcCFMD("thriftcompat", "JdbcInteger", Int32Type.instance)
- .addColumnDefinition(integerColumn("thriftcompat", "JdbcInteger")));
+ KeyspaceParams.simple(1),
+ SchemaLoader.jdbcCFMD("thriftcompat", "JdbcInteger", Int32Type.instance)
+ .addColumnDefinition(integerColumn("thriftcompat", "JdbcInteger")));
}
private static UntypedResultSet execute(String query)
{
- return QueryProcessor.executeInternal(String.format(query));
+ return QueryProcessor.executeInternal(query);
}
/** Test For CASSANDRA-8178 */
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java
index e9436f8..ee9364a 100644
--- a/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java
+++ b/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java
@@ -36,7 +36,6 @@ import org.junit.Test;
import com.datastax.driver.core.*;
import com.datastax.driver.core.exceptions.InvalidQueryException;
-import org.apache.cassandra.config.DatabaseDescriptor;
import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.cql3.QueryProcessor;
@@ -2186,7 +2185,7 @@ public class UFTest extends CQLTester
"java",
f.body(),
new InvalidRequestException("foo bar is broken"));
- Schema.instance.setKeyspaceDefinition(ksm.cloneWith(ksm.functions.without(f.name(), f.argTypes()).with(broken)));
+ Schema.instance.setKeyspaceDefinition(ksm.withSwapped(ksm.functions.without(f.name(), f.argTypes()).with(broken)));
assertInvalidThrowMessage("foo bar is broken", InvalidRequestException.class,
"SELECT key, " + fName + "(dval) FROM %s");
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
index a7ce3a6..ac26368 100644
--- a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
+++ b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
@@ -1024,7 +1024,7 @@ public class AggregationTest extends CQLTester
null,
new InvalidRequestException("foo bar is broken"));
- Schema.instance.setKeyspaceDefinition(ksm.cloneWith(ksm.functions.without(f.name(), f.argTypes()).with(broken)));
+ Schema.instance.setKeyspaceDefinition(ksm.withSwapped(ksm.functions.without(f.name(), f.argTypes()).with(broken)));
assertInvalidThrowMessage("foo bar is broken", InvalidRequestException.class,
"SELECT " + a + "(val) FROM %s");
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/db/BatchlogManagerTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/BatchlogManagerTest.java b/test/unit/org/apache/cassandra/db/BatchlogManagerTest.java
index c81fc4f..d8437d4 100644
--- a/test/unit/org/apache/cassandra/db/BatchlogManagerTest.java
+++ b/test/unit/org/apache/cassandra/db/BatchlogManagerTest.java
@@ -25,6 +25,7 @@ import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.db.rows.Row;
import org.apache.cassandra.db.partitions.ArrayBackedPartition;
import org.apache.cassandra.db.partitions.PartitionUpdate;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
@@ -35,13 +36,11 @@ import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
import org.apache.cassandra.config.DatabaseDescriptor;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.cql3.QueryProcessor;
import org.apache.cassandra.cql3.UntypedResultSet;
import org.apache.cassandra.db.marshal.BytesType;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.locator.TokenMetadata;
-import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.net.MessagingService;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.UUIDGen;
@@ -63,11 +62,10 @@ public class BatchlogManagerTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
- SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1, 1, BytesType.instance),
- SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD2),
- SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD3));
+ KeyspaceParams.simple(1),
+ SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1, 1, BytesType.instance),
+ SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD2),
+ SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD3));
}
@Before
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/db/CellTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/CellTest.java b/test/unit/org/apache/cassandra/db/CellTest.java
index a7e4bf7..9560804 100644
--- a/test/unit/org/apache/cassandra/db/CellTest.java
+++ b/test/unit/org/apache/cassandra/db/CellTest.java
@@ -1,6 +1,4 @@
-package org.apache.cassandra.db;
/*
- *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -17,9 +15,8 @@ package org.apache.cassandra.db;
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
*/
-
+package org.apache.cassandra.db;
import java.nio.ByteBuffer;
@@ -29,11 +26,10 @@ import org.junit.Test;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.ColumnDefinition;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.rows.*;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.SchemaLoader;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
@@ -49,9 +45,8 @@ public class CellTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
- SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1));
+ KeyspaceParams.simple(1),
+ SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1));
}
@Test
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 d1214cb..c6cb882 100644
--- a/test/unit/org/apache/cassandra/db/CleanupTest.java
+++ b/test/unit/org/apache/cassandra/db/CleanupTest.java
@@ -35,15 +35,14 @@ import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.cql3.Operator;
import org.apache.cassandra.db.compaction.CompactionManager;
import org.apache.cassandra.db.index.SecondaryIndex;
import org.apache.cassandra.dht.ByteOrderedPartitioner.BytesToken;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.sstable.format.SSTableReader;
-import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.locator.TokenMetadata;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.ByteBufferUtil;
@@ -68,8 +67,7 @@ public class CleanupTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1),
SchemaLoader.compositeIndexCFMD(KEYSPACE1, CF_INDEXED1, true));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 9c642c7..f1a4905 100644
--- a/test/unit/org/apache/cassandra/db/ColumnFamilyMetricTest.java
+++ b/test/unit/org/apache/cassandra/db/ColumnFamilyMetricTest.java
@@ -17,18 +17,15 @@
*/
package org.apache.cassandra.db;
-import java.nio.ByteBuffer;
import java.util.Collection;
-import java.util.function.Supplier;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.FBUtilities;
import org.junit.BeforeClass;
import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.io.sstable.format.SSTableReader;
-import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.utils.ByteBufferUtil;
import static org.junit.Assert.assertEquals;
@@ -40,8 +37,7 @@ public class ColumnFamilyMetricTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace("Keyspace1",
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD("Keyspace1", "Standard2"));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 cf17df7..3620bd0 100644
--- a/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java
+++ b/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java
@@ -38,13 +38,12 @@ import org.apache.cassandra.cql3.Operator;
import org.apache.cassandra.db.rows.*;
import org.apache.cassandra.db.partitions.*;
import org.apache.cassandra.db.marshal.*;
-import org.apache.cassandra.db.partitions.PartitionIterator;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.sstable.Component;
import org.apache.cassandra.io.sstable.Descriptor;
import org.apache.cassandra.io.sstable.format.SSTableReader;
-import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.metrics.ClearableHistogram;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
import org.apache.cassandra.utils.WrappedRunnable;
@@ -64,16 +63,14 @@ public class ColumnFamilyStoreTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD2));
// TODO: Fix superCFMD failing on legacy table creation. Seems to be applying composite comparator to partition key
// SchemaLoader.superCFMD(KEYSPACE1, CF_SUPER1, LongType.instance));
// SchemaLoader.superCFMD(KEYSPACE1, CF_SUPER6, "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", LexicalUUIDType.instance, UTF8Type.instance),
SchemaLoader.createKeyspace(KEYSPACE2,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE2, CF_STANDARD1));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/db/CommitLogTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/CommitLogTest.java b/test/unit/org/apache/cassandra/db/CommitLogTest.java
index 70dbed0..5838e23 100644
--- a/test/unit/org/apache/cassandra/db/CommitLogTest.java
+++ b/test/unit/org/apache/cassandra/db/CommitLogTest.java
@@ -16,10 +16,8 @@
* specific language governing permissions and limitations
* under the License.
*/
-
package org.apache.cassandra.db;
-import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertTrue;
import static org.apache.cassandra.utils.ByteBufferUtil.bytes;
import static org.junit.Assert.assertEquals;
@@ -39,10 +37,8 @@ import java.util.zip.Checksum;
import com.google.common.collect.ImmutableMap;
-import org.apache.cassandra.db.rows.Row;
import org.apache.cassandra.db.marshal.AsciiType;
import org.apache.cassandra.db.marshal.BytesType;
-import org.apache.cassandra.db.partitions.PartitionIterator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -52,7 +48,6 @@ import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
import org.apache.cassandra.config.DatabaseDescriptor;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.config.ParameterizedClass;
import org.apache.cassandra.db.commitlog.CommitLog;
import org.apache.cassandra.db.commitlog.CommitLogDescriptor;
@@ -62,8 +57,8 @@ import org.apache.cassandra.db.compaction.CompactionManager;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.util.ByteBufferDataInput;
import org.apache.cassandra.io.util.FileDataInput;
-import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.net.MessagingService;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
public class CommitLogTest
@@ -80,15 +75,11 @@ public class CommitLogTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, STANDARD1, 0, AsciiType.instance, BytesType.instance),
SchemaLoader.standardCFMD(KEYSPACE1, STANDARD2, 0, AsciiType.instance, BytesType.instance));
SchemaLoader.createKeyspace(KEYSPACE2,
- false,
- true,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simpleTransient(1),
SchemaLoader.standardCFMD(KEYSPACE1, STANDARD1, 0, AsciiType.instance, BytesType.instance),
SchemaLoader.standardCFMD(KEYSPACE1, STANDARD2, 0, AsciiType.instance, BytesType.instance));
System.setProperty("cassandra.commitlog.stop_on_errors", "true");
@@ -351,7 +342,7 @@ public class CommitLogTest
{
DatabaseDescriptor.setAutoSnapshot(false);
Keyspace notDurableKs = Keyspace.open(KEYSPACE2);
- Assert.assertFalse(notDurableKs.metadata.durableWrites);
+ Assert.assertFalse(notDurableKs.getMetadata().params.durableWrites);
ColumnFamilyStore cfs = notDurableKs.getColumnFamilyStore("Standard1");
new RowUpdateBuilder(cfs.metadata, 0, "key1")
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/db/CounterCacheTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/CounterCacheTest.java b/test/unit/org/apache/cassandra/db/CounterCacheTest.java
index 035d8f8..517bce6 100644
--- a/test/unit/org/apache/cassandra/db/CounterCacheTest.java
+++ b/test/unit/org/apache/cassandra/db/CounterCacheTest.java
@@ -21,19 +21,17 @@ import java.util.concurrent.ExecutionException;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.ColumnDefinition;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.marshal.*;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.exceptions.WriteTimeoutException;
-import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.service.CacheService;
-import org.apache.cassandra.utils.FBUtilities;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
@@ -57,9 +55,8 @@ public class CounterCacheTest
.build();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
- counterTable);
+ KeyspaceParams.simple(1),
+ counterTable);
}
@AfterClass
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/db/CounterCellTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/CounterCellTest.java b/test/unit/org/apache/cassandra/db/CounterCellTest.java
index 025cb3c..fb9f9ac 100644
--- a/test/unit/org/apache/cassandra/db/CounterCellTest.java
+++ b/test/unit/org/apache/cassandra/db/CounterCellTest.java
@@ -29,14 +29,13 @@ import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.config.ColumnDefinition;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.rows.AbstractCell;
import org.apache.cassandra.db.rows.Cell;
import org.apache.cassandra.db.rows.CellPath;
import org.apache.cassandra.db.rows.Cells;
import org.apache.cassandra.db.context.CounterContext;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.*;
import static org.junit.Assert.*;
@@ -61,8 +60,7 @@ public class CounterCellTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, STANDARD1),
SchemaLoader.counterCFMD(KEYSPACE1, COUNTER1));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/db/CounterMutationTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/CounterMutationTest.java b/test/unit/org/apache/cassandra/db/CounterMutationTest.java
index 4e67a7e..912dd68 100644
--- a/test/unit/org/apache/cassandra/db/CounterMutationTest.java
+++ b/test/unit/org/apache/cassandra/db/CounterMutationTest.java
@@ -22,21 +22,15 @@ import org.junit.Test;
import org.apache.cassandra.Util;
import org.apache.cassandra.config.ColumnDefinition;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.db.rows.Row;
import org.apache.cassandra.db.context.CounterContext;
-import org.apache.cassandra.db.partitions.PartitionIterator;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.exceptions.WriteTimeoutException;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-
-import static org.apache.cassandra.Util.dk;
-import static org.apache.cassandra.utils.ByteBufferUtil.bytes;
public class CounterMutationTest
{
@@ -49,8 +43,7 @@ public class CounterMutationTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.counterCFMD(KEYSPACE1, CF1),
SchemaLoader.counterCFMD(KEYSPACE1, CF2));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/db/DeletePartitionTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/DeletePartitionTest.java b/test/unit/org/apache/cassandra/db/DeletePartitionTest.java
index 616103e..6ab9a90 100644
--- a/test/unit/org/apache/cassandra/db/DeletePartitionTest.java
+++ b/test/unit/org/apache/cassandra/db/DeletePartitionTest.java
@@ -24,12 +24,9 @@ import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
import org.apache.cassandra.config.ColumnDefinition;
-import org.apache.cassandra.config.KSMetaData;
-import org.apache.cassandra.db.rows.UnfilteredRowIterator;
import org.apache.cassandra.db.rows.Row;
-import org.apache.cassandra.db.rows.RowIterator;
import org.apache.cassandra.db.partitions.*;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
@@ -46,8 +43,7 @@ public class DeletePartitionTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 962fc92..f4efd82 100644
--- a/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
+++ b/test/unit/org/apache/cassandra/db/HintedHandOffTest.java
@@ -30,13 +30,12 @@ import org.junit.BeforeClass;
import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.cql3.UntypedResultSet;
import org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy;
import org.apache.cassandra.db.marshal.Int32Type;
import org.apache.cassandra.db.marshal.UUIDType;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
@@ -54,8 +53,7 @@ public class HintedHandOffTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE4,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE4, STANDARD1_CF));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 76de839..3dd5cce 100644
--- a/test/unit/org/apache/cassandra/db/KeyCacheTest.java
+++ b/test/unit/org/apache/cassandra/db/KeyCacheTest.java
@@ -33,17 +33,13 @@ import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
import org.apache.cassandra.cache.KeyCacheKey;
import org.apache.cassandra.concurrent.ScheduledExecutors;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.db.compaction.CompactionManager;
-import org.apache.cassandra.db.filter.*;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.sstable.format.SSTableReader;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.CacheService;
-import org.apache.cassandra.utils.ByteBufferUtil;
-import org.apache.cassandra.utils.FBUtilities;
import org.apache.cassandra.utils.concurrent.Refs;
import static org.junit.Assert.assertEquals;
@@ -59,10 +55,9 @@ public class KeyCacheTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
- SchemaLoader.standardCFMD(KEYSPACE1, COLUMN_FAMILY1),
- SchemaLoader.standardCFMD(KEYSPACE1, COLUMN_FAMILY2));
+ KeyspaceParams.simple(1),
+ SchemaLoader.standardCFMD(KEYSPACE1, COLUMN_FAMILY1),
+ SchemaLoader.standardCFMD(KEYSPACE1, COLUMN_FAMILY2));
}
@AfterClass
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/db/NameSortTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/NameSortTest.java b/test/unit/org/apache/cassandra/db/NameSortTest.java
index 6391fcd..1da6ea6 100644
--- a/test/unit/org/apache/cassandra/db/NameSortTest.java
+++ b/test/unit/org/apache/cassandra/db/NameSortTest.java
@@ -24,14 +24,11 @@ import java.nio.ByteBuffer;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
import org.apache.cassandra.config.ColumnDefinition;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.rows.Row;
-import org.apache.cassandra.db.rows.RowIterator;
import org.apache.cassandra.db.partitions.*;
import org.apache.cassandra.db.marshal.AsciiType;
-import org.apache.cassandra.db.partitions.PartitionIterator;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import static org.junit.Assert.assertEquals;
@@ -48,8 +45,7 @@ public class NameSortTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF, 1000, AsciiType.instance));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/db/PartitionRangeReadTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/PartitionRangeReadTest.java b/test/unit/org/apache/cassandra/db/PartitionRangeReadTest.java
index d293745..d5fb8fa 100644
--- a/test/unit/org/apache/cassandra/db/PartitionRangeReadTest.java
+++ b/test/unit/org/apache/cassandra/db/PartitionRangeReadTest.java
@@ -18,33 +18,25 @@
*/
package org.apache.cassandra.db;
-import java.io.File;
import java.math.BigInteger;
import java.nio.ByteBuffer;
import java.nio.charset.CharacterCodingException;
-import java.util.Collection;
import java.util.List;
import org.junit.BeforeClass;
import org.junit.Test;
-import com.google.common.collect.Iterators;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import org.apache.cassandra.*;
import org.apache.cassandra.config.ColumnDefinition;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.rows.Row;
-import org.apache.cassandra.db.rows.RowIterator;
import org.apache.cassandra.db.marshal.IntegerType;
import org.apache.cassandra.db.partitions.*;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.io.sstable.Component;
-import org.apache.cassandra.io.sstable.format.SSTableReader;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
-import org.apache.cassandra.utils.FBUtilities;
public class PartitionRangeReadTest
{
@@ -58,13 +50,11 @@ public class PartitionRangeReadTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1),
SchemaLoader.denseCFMD(KEYSPACE1, CF_STANDARDINT, IntegerType.instance));
SchemaLoader.createKeyspace(KEYSPACE2,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE2, CF_STANDARD1));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/db/PartitionTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/PartitionTest.java b/test/unit/org/apache/cassandra/db/PartitionTest.java
index 24dfc6d..9aadc2c 100644
--- a/test/unit/org/apache/cassandra/db/PartitionTest.java
+++ b/test/unit/org/apache/cassandra/db/PartitionTest.java
@@ -27,19 +27,17 @@ import org.junit.BeforeClass;
import org.junit.Test;
import org.apache.cassandra.config.ColumnDefinition;
-import org.apache.cassandra.config.KSMetaData;
-import org.apache.cassandra.db.rows.UnfilteredRowIterator;
import org.apache.cassandra.db.rows.UnfilteredRowIterators;
import org.apache.cassandra.db.rows.RowStats;
import org.apache.cassandra.db.marshal.AsciiType;
import org.apache.cassandra.db.marshal.BytesType;
import org.apache.cassandra.db.partitions.*;
import org.apache.cassandra.io.util.DataOutputBuffer;
-import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.net.MessagingService;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
import org.apache.hadoop.io.DataInputBuffer;
@@ -61,8 +59,7 @@ public class PartitionTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_TENCOL, 10, AsciiType.instance),
SchemaLoader.denseCFMD(KEYSPACE1, CF_COUNTER1, BytesType.instance));
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 c5060e5..8fb0dd0 100644
--- a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java
+++ b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java
@@ -49,15 +49,13 @@ import org.apache.cassandra.db.index.SecondaryIndexSearcher;
import org.apache.cassandra.db.marshal.UTF8Type;
import org.apache.cassandra.db.marshal.Int32Type;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.io.sstable.metadata.StatsMetadata;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
import org.apache.cassandra.utils.concurrent.OpOrder;
-import static org.apache.cassandra.Util.dk;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
public class RangeTombstoneTest
@@ -70,8 +68,7 @@ public class RangeTombstoneTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KSNAME,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KSNAME, CFNAME, 0, UTF8Type.instance, Int32Type.instance, Int32Type.instance));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/db/ReadMessageTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/ReadMessageTest.java b/test/unit/org/apache/cassandra/db/ReadMessageTest.java
index b7e19f8..bf6f23d 100644
--- a/test/unit/org/apache/cassandra/db/ReadMessageTest.java
+++ b/test/unit/org/apache/cassandra/db/ReadMessageTest.java
@@ -30,25 +30,18 @@ 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.config.DatabaseDescriptor;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.commitlog.CommitLogTestReplayer;
import org.apache.cassandra.db.partitions.PartitionUpdate;
import org.apache.cassandra.db.rows.Row;
-import org.apache.cassandra.db.rows.RowIterator;
import org.apache.cassandra.db.marshal.AsciiType;
import org.apache.cassandra.db.marshal.BytesType;
-import org.apache.cassandra.db.partitions.PartitionIterator;
import org.apache.cassandra.db.partitions.FilteredPartition;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.IVersionedSerializer;
import org.apache.cassandra.io.util.DataOutputBuffer;
-import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.net.MessagingService;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
-import org.apache.cassandra.utils.FBUtilities;
-
-import static org.junit.Assert.*;
public class ReadMessageTest
{
@@ -80,16 +73,12 @@ public class ReadMessageTest
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF),
cfForReadMetadata,
cfForCommitMetadata1);
SchemaLoader.createKeyspace(KEYSPACENOCOMMIT,
- false,
- true,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simpleTransient(1),
SchemaLoader.standardCFMD(KEYSPACENOCOMMIT, CF),
cfForCommitMetadata2);
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/db/RecoveryManagerFlushedTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/RecoveryManagerFlushedTest.java b/test/unit/org/apache/cassandra/db/RecoveryManagerFlushedTest.java
index b5f05f4..57e7966 100644
--- a/test/unit/org/apache/cassandra/db/RecoveryManagerFlushedTest.java
+++ b/test/unit/org/apache/cassandra/db/RecoveryManagerFlushedTest.java
@@ -1,6 +1,4 @@
-package org.apache.cassandra.db;
/*
- *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -17,9 +15,8 @@ package org.apache.cassandra.db;
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
*/
-
+package org.apache.cassandra.db;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -28,11 +25,10 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.cassandra.SchemaLoader;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.compaction.CompactionManager;
import org.apache.cassandra.db.commitlog.CommitLog;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.FBUtilities;
public class RecoveryManagerFlushedTest
@@ -48,10 +44,9 @@ public class RecoveryManagerFlushedTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
- SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1),
- SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD2));
+ KeyspaceParams.simple(1),
+ SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1),
+ SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD2));
}
@Test
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/db/RecoveryManagerMissingHeaderTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/RecoveryManagerMissingHeaderTest.java b/test/unit/org/apache/cassandra/db/RecoveryManagerMissingHeaderTest.java
index 0d85373..14c9832 100644
--- a/test/unit/org/apache/cassandra/db/RecoveryManagerMissingHeaderTest.java
+++ b/test/unit/org/apache/cassandra/db/RecoveryManagerMissingHeaderTest.java
@@ -1,6 +1,4 @@
-package org.apache.cassandra.db;
/*
- *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -17,9 +15,8 @@ package org.apache.cassandra.db;
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
*/
-
+package org.apache.cassandra.db;
import java.io.File;
import java.io.IOException;
@@ -31,13 +28,12 @@ import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
import org.apache.cassandra.config.DatabaseDescriptor;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.rows.AbstractUnfilteredRowIterator;
import org.apache.cassandra.db.rows.UnfilteredRowIterator;
import org.apache.cassandra.db.commitlog.CommitLog;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.util.FileUtils;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
public class RecoveryManagerMissingHeaderTest
{
@@ -52,12 +48,10 @@ public class RecoveryManagerMissingHeaderTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1));
SchemaLoader.createKeyspace(KEYSPACE2,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE2, CF_STANDARD3));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/db/RecoveryManagerTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/RecoveryManagerTest.java b/test/unit/org/apache/cassandra/db/RecoveryManagerTest.java
index f9d96b6..9fc37be 100644
--- a/test/unit/org/apache/cassandra/db/RecoveryManagerTest.java
+++ b/test/unit/org/apache/cassandra/db/RecoveryManagerTest.java
@@ -22,19 +22,15 @@ import java.io.IOException;
import java.util.Date;
import java.util.concurrent.TimeUnit;
-import com.google.common.collect.Iterators;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.cassandra.OrderedJUnit4ClassRunner;
import org.apache.cassandra.Util;
import org.apache.cassandra.config.ColumnDefinition;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.rows.*;
import org.apache.cassandra.db.context.CounterContext;
-import org.apache.cassandra.db.partitions.PartitionIterator;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.SimpleStrategy;
import org.junit.Assert;
import org.junit.Before;
@@ -47,8 +43,8 @@ import static org.junit.Assert.assertEquals;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.db.commitlog.CommitLog;
import org.apache.cassandra.db.commitlog.CommitLogArchiver;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
-import org.apache.cassandra.utils.FBUtilities;
@RunWith(OrderedJUnit4ClassRunner.class)
public class RecoveryManagerTest
@@ -67,13 +63,11 @@ public class RecoveryManagerTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1),
SchemaLoader.counterCFMD(KEYSPACE1, CF_COUNTER1));
SchemaLoader.createKeyspace(KEYSPACE2,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE2, CF_STANDARD3));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/db/RecoveryManagerTruncateTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/RecoveryManagerTruncateTest.java b/test/unit/org/apache/cassandra/db/RecoveryManagerTruncateTest.java
index ee31366..7c8ab7d 100644
--- a/test/unit/org/apache/cassandra/db/RecoveryManagerTruncateTest.java
+++ b/test/unit/org/apache/cassandra/db/RecoveryManagerTruncateTest.java
@@ -18,18 +18,14 @@
*/
package org.apache.cassandra.db;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-
import java.io.IOException;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.commitlog.CommitLog;
-import org.apache.cassandra.db.partitions.PartitionIterator;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
+
import org.junit.BeforeClass;
import org.junit.Test;
@@ -48,8 +44,7 @@ public class RecoveryManagerTruncateTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/db/RowCacheTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/RowCacheTest.java b/test/unit/org/apache/cassandra/db/RowCacheTest.java
index 2d0303a..30b3f6a 100644
--- a/test/unit/org/apache/cassandra/db/RowCacheTest.java
+++ b/test/unit/org/apache/cassandra/db/RowCacheTest.java
@@ -1,4 +1,4 @@
-/**
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -31,7 +31,6 @@ import org.apache.cassandra.Util;
import org.apache.cassandra.cache.CachingOptions;
import org.apache.cassandra.cache.RowCacheKey;
import org.apache.cassandra.config.CFMetaData;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.db.rows.Unfiltered;
import org.apache.cassandra.db.rows.UnfilteredRowIterator;
@@ -39,17 +38,15 @@ import org.apache.cassandra.db.rows.Cell;
import org.apache.cassandra.db.rows.Row;
import org.apache.cassandra.db.compaction.CompactionManager;
import org.apache.cassandra.db.filter.ColumnFilter;
-import org.apache.cassandra.db.filter.ClusteringIndexNamesFilter;
import org.apache.cassandra.db.marshal.IntegerType;
import org.apache.cassandra.db.partitions.CachedPartition;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.dht.ByteOrderedPartitioner.BytesToken;
import org.apache.cassandra.locator.TokenMetadata;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.CacheService;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.ByteBufferUtil;
-import org.apache.cassandra.utils.FBUtilities;
import static org.junit.Assert.*;
@@ -64,12 +61,11 @@ public class RowCacheTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE_CACHED,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
- SchemaLoader.standardCFMD(KEYSPACE_CACHED, CF_CACHED).caching(CachingOptions.ALL),
- SchemaLoader.standardCFMD(KEYSPACE_CACHED, CF_CACHEDINT, 1, IntegerType.instance)
- .caching(new CachingOptions(new CachingOptions.KeyCache(CachingOptions.KeyCache.Type.ALL),
- new CachingOptions.RowCache(CachingOptions.RowCache.Type.HEAD, 100))));
+ KeyspaceParams.simple(1),
+ SchemaLoader.standardCFMD(KEYSPACE_CACHED, CF_CACHED).caching(CachingOptions.ALL),
+ SchemaLoader.standardCFMD(KEYSPACE_CACHED, CF_CACHEDINT, 1, IntegerType.instance)
+ .caching(new CachingOptions(new CachingOptions.KeyCache(CachingOptions.KeyCache.Type.ALL),
+ new CachingOptions.RowCache(CachingOptions.RowCache.Type.HEAD, 100))));
}
@AfterClass
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/db/RowTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/RowTest.java b/test/unit/org/apache/cassandra/db/RowTest.java
index 73a4ed7..f7851f0 100644
--- a/test/unit/org/apache/cassandra/db/RowTest.java
+++ b/test/unit/org/apache/cassandra/db/RowTest.java
@@ -29,7 +29,6 @@ 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.config.KSMetaData;
import org.apache.cassandra.cql3.ColumnIdentifier;
import org.apache.cassandra.db.rows.*;
import org.apache.cassandra.db.marshal.AbstractType;
@@ -37,12 +36,11 @@ import org.apache.cassandra.db.marshal.AsciiType;
import org.apache.cassandra.db.marshal.BytesType;
import org.apache.cassandra.db.partitions.PartitionUpdate;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
public class RowTest
@@ -66,8 +64,7 @@ public class RowTest
.build();
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
cfMetadata);
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 5f0e3ac..c728f0d 100644
--- a/test/unit/org/apache/cassandra/db/ScrubTest.java
+++ b/test/unit/org/apache/cassandra/db/ScrubTest.java
@@ -1,6 +1,4 @@
-package org.apache.cassandra.db;
/*
- *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -17,8 +15,8 @@ package org.apache.cassandra.db;
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
*/
+package org.apache.cassandra.db;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
@@ -33,24 +31,18 @@ import java.io.RandomAccessFile;
import org.apache.cassandra.Util;
import org.apache.cassandra.UpdateBuilder;
-import org.apache.cassandra.config.ColumnDefinition;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.cql3.QueryProcessor;
-import org.apache.cassandra.db.rows.*;
import org.apache.cassandra.db.partitions.*;
import org.apache.cassandra.db.marshal.BytesType;
-import org.apache.cassandra.db.marshal.CounterColumnType;
import org.apache.cassandra.db.marshal.UUIDType;
import org.apache.cassandra.db.compaction.OperationType;
import org.apache.cassandra.db.lifecycle.LifecycleTransaction;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.exceptions.RequestExecutionException;
import org.apache.cassandra.io.compress.CompressionMetadata;
-import org.apache.cassandra.io.sstable.format.SSTableWriter;
import org.apache.cassandra.io.sstable.format.SSTableFormat;
import org.apache.cassandra.io.sstable.format.SSTableReader;
-import org.apache.cassandra.locator.SimpleStrategy;
-import org.apache.cassandra.utils.UUIDGen;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.commons.lang3.StringUtils;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -70,7 +62,6 @@ import org.apache.cassandra.io.sstable.SSTableRewriter;
import org.apache.cassandra.OrderedJUnit4ClassRunner;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.service.StorageService;
-import org.apache.cassandra.Util;
import org.apache.cassandra.utils.ByteBufferUtil;
import static org.junit.Assert.*;
@@ -98,8 +89,7 @@ public class ScrubTest
{
SchemaLoader.loadSchema();
SchemaLoader.createKeyspace(KEYSPACE,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE, CF),
SchemaLoader.standardCFMD(KEYSPACE, CF2),
SchemaLoader.standardCFMD(KEYSPACE, CF3),
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 c6372b2..f907f1f 100644
--- a/test/unit/org/apache/cassandra/db/SecondaryIndexTest.java
+++ b/test/unit/org/apache/cassandra/db/SecondaryIndexTest.java
@@ -25,7 +25,6 @@ import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
-import com.google.common.collect.Iterators;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -34,21 +33,18 @@ import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
import org.apache.cassandra.config.ColumnDefinition;
import org.apache.cassandra.config.IndexType;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.cql3.Operator;
import org.apache.cassandra.db.index.SecondaryIndex;
import org.apache.cassandra.db.index.SecondaryIndexSearcher;
import org.apache.cassandra.db.marshal.AbstractType;
import org.apache.cassandra.db.partitions.*;
import org.apache.cassandra.db.rows.Row;
-import org.apache.cassandra.db.rows.RowIterator;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
public class SecondaryIndexTest
@@ -63,8 +59,7 @@ public class SecondaryIndexTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.compositeIndexCFMD(KEYSPACE1, WITH_COMPOSITE_INDEX, true).gcGraceSeconds(0),
SchemaLoader.compositeIndexCFMD(KEYSPACE1, COMPOSITE_INDEX_TO_BE_ADDED, false).gcGraceSeconds(0),
SchemaLoader.keysIndexCFMD(KEYSPACE1, WITH_KEYS_INDEX, true).gcGraceSeconds(0));
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 272d40f..6819e28 100644
--- a/test/unit/org/apache/cassandra/db/VerifyTest.java
+++ b/test/unit/org/apache/cassandra/db/VerifyTest.java
@@ -1,6 +1,4 @@
-package org.apache.cassandra.db;
/*
- *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -17,22 +15,17 @@ package org.apache.cassandra.db;
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
*/
+package org.apache.cassandra.db;
import com.google.common.base.Charsets;
import org.apache.cassandra.OrderedJUnit4ClassRunner;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
import org.apache.cassandra.UpdateBuilder;
-import org.apache.cassandra.config.CFMetaData;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.compaction.CompactionManager;
import org.apache.cassandra.db.compaction.Verifier;
-import org.apache.cassandra.db.marshal.BytesType;
-import org.apache.cassandra.db.marshal.CounterColumnType;
import org.apache.cassandra.db.marshal.UUIDType;
-import org.apache.cassandra.db.partitions.PartitionIterator;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.exceptions.WriteTimeoutException;
import org.apache.cassandra.io.FSWriteError;
@@ -41,7 +34,7 @@ import org.apache.cassandra.io.sstable.Component;
import org.apache.cassandra.io.sstable.CorruptSSTableException;
import org.apache.cassandra.io.sstable.format.SSTableReader;
import org.apache.cassandra.io.util.FileUtils;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.commons.lang3.StringUtils;
import org.junit.BeforeClass;
@@ -51,7 +44,6 @@ import org.junit.runner.RunWith;
import java.io.*;
import java.nio.file.Files;
import java.util.HashMap;
-import java.util.List;
import java.util.zip.Adler32;
import java.util.zip.CheckedInputStream;
@@ -83,8 +75,7 @@ public class VerifyTest
SchemaLoader.loadSchema();
SchemaLoader.createKeyspace(KEYSPACE,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE, CF).compressionParameters(compressionParameters),
SchemaLoader.standardCFMD(KEYSPACE, CF2).compressionParameters(compressionParameters),
SchemaLoader.standardCFMD(KEYSPACE, CF3),
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 8a35494..ce2b1ac 100644
--- a/test/unit/org/apache/cassandra/db/compaction/AntiCompactionTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/AntiCompactionTest.java
@@ -44,6 +44,7 @@ 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.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.ActiveRepairService;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.utils.ByteBufferUtil;
@@ -72,9 +73,8 @@ public class AntiCompactionTest
SchemaLoader.prepareServer();
cfm = SchemaLoader.standardCFMD(KEYSPACE1, CF);
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
- cfm);
+ KeyspaceParams.simple(1),
+ cfm);
}
@After
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 5aa8e4f..a54156c 100644
--- a/test/unit/org/apache/cassandra/db/compaction/BlacklistingCompactionsTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/BlacklistingCompactionsTest.java
@@ -41,6 +41,7 @@ import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.sstable.format.SSTableReader;
import org.apache.cassandra.io.util.FileUtils;
import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import static org.junit.Assert.assertEquals;
@@ -66,8 +67,7 @@ public class BlacklistingCompactionsTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1));
closeStdErr();
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 09ac021..400adb5 100644
--- a/test/unit/org/apache/cassandra/db/compaction/CompactionsPurgeTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/CompactionsPurgeTest.java
@@ -38,6 +38,7 @@ import org.apache.cassandra.db.partitions.PartitionUpdate;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.sstable.format.SSTableReader;
import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
@@ -61,26 +62,22 @@ public class CompactionsPurgeTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
- SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1),
- SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD2));
+ KeyspaceParams.simple(1),
+ SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1),
+ SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD2));
SchemaLoader.createKeyspace(KEYSPACE2,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
- SchemaLoader.standardCFMD(KEYSPACE2, CF_STANDARD1));
+ KeyspaceParams.simple(1),
+ SchemaLoader.standardCFMD(KEYSPACE2, CF_STANDARD1));
SchemaLoader.createKeyspace(KEYSPACE_CACHED,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
- SchemaLoader.standardCFMD(KEYSPACE_CACHED, CF_CACHED).caching(CachingOptions.ALL));
+ KeyspaceParams.simple(1),
+ SchemaLoader.standardCFMD(KEYSPACE_CACHED, CF_CACHED).caching(CachingOptions.ALL));
SchemaLoader.createKeyspace(KEYSPACE_CQL,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
- CFMetaData.compile("CREATE TABLE " + CF_CQL + " ("
- + "k int PRIMARY KEY,"
- + "v1 text,"
- + "v2 int"
- + ")", KEYSPACE_CQL));
+ KeyspaceParams.simple(1),
+ CFMetaData.compile("CREATE TABLE " + CF_CQL + " ("
+ + "k int PRIMARY KEY,"
+ + "v1 text,"
+ + "v2 int"
+ + ")", KEYSPACE_CQL));
}
@Test
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 606d24c..7646100 100644
--- a/test/unit/org/apache/cassandra/db/compaction/CompactionsTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/CompactionsTest.java
@@ -32,6 +32,7 @@ import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.dht.*;
import org.apache.cassandra.io.sstable.format.SSTableReader;
import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
@@ -63,8 +64,7 @@ public class CompactionsTest
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.denseCFMD(KEYSPACE1, CF_DENSE1).compactionStrategyOptions(compactionOptions),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1).compactionStrategyOptions(compactionOptions),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD2),
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 cbacfba..823d349 100644
--- a/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
@@ -1,4 +1,4 @@
-/**
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -29,15 +29,13 @@ import com.google.common.collect.Lists;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.ColumnFamilyStore;
import org.apache.cassandra.db.DecoratedKey;
import org.apache.cassandra.db.Keyspace;
-import org.apache.cassandra.db.Mutation;
import org.apache.cassandra.db.RowUpdateBuilder;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.sstable.format.SSTableReader;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.Pair;
import static org.apache.cassandra.db.compaction.DateTieredCompactionStrategy.getBuckets;
@@ -57,8 +55,7 @@ public class DateTieredCompactionStrategyTest extends SchemaLoader
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 a331afa..ab84555 100644
--- a/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java
@@ -37,21 +37,18 @@ import org.apache.cassandra.OrderedJUnit4ClassRunner;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
import org.apache.cassandra.UpdateBuilder;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.ColumnFamilyStore;
-import org.apache.cassandra.db.DecoratedKey;
import org.apache.cassandra.db.Keyspace;
-import org.apache.cassandra.db.Mutation;
import org.apache.cassandra.dht.Range;
import org.apache.cassandra.dht.Token;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.sstable.ISSTableScanner;
import org.apache.cassandra.io.sstable.format.SSTableReader;
-import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.notifications.SSTableAddedNotification;
import org.apache.cassandra.notifications.SSTableRepairStatusChanged;
import org.apache.cassandra.repair.RepairJobDesc;
import org.apache.cassandra.repair.Validator;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.ActiveRepairService;
import org.apache.cassandra.utils.FBUtilities;
@@ -74,8 +71,7 @@ public class LeveledCompactionStrategyTest
leveledOptions.put("sstable_size_in_mb", "1");
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARDDLEVELED)
.compactionStrategyClass(LeveledCompactionStrategy.class)
.compactionStrategyOptions(leveledOptions));
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 a775883..d5802f9 100644
--- a/test/unit/org/apache/cassandra/db/compaction/OneCompactionTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/OneCompactionTest.java
@@ -22,19 +22,16 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
-import com.google.common.collect.Iterables;
import org.junit.BeforeClass;
import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.ColumnFamilyStore;
import org.apache.cassandra.db.Keyspace;
import org.apache.cassandra.db.RowUpdateBuilder;
-import org.apache.cassandra.db.partitions.UnfilteredPartitionIterator;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import static org.junit.Assert.assertEquals;
@@ -53,8 +50,7 @@ public class OneCompactionTest
leveledOptions.put("sstable_size_in_mb", "1");
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1).compactionStrategyOptions(leveledOptions),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD2));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/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 e70d9a8..f3fdd3a 100644
--- a/test/unit/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategyTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategyTest.java
@@ -28,17 +28,13 @@ import org.junit.BeforeClass;
import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
-import org.apache.cassandra.Util;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.ColumnFamilyStore;
-import org.apache.cassandra.db.DecoratedKey;
import org.apache.cassandra.db.Keyspace;
-import org.apache.cassandra.db.Mutation;
import org.apache.cassandra.db.RowUpdateBuilder;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.sstable.format.SSTableReader;
-import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.metrics.RestorableMeter;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.Pair;
import static org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.getBuckets;
@@ -61,8 +57,7 @@ public class SizeTieredCompactionStrategyTest
leveledOptions.put("sstable_size_in_mb", "1");
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1)
.compactionStrategyOptions(leveledOptions));
}
[3/3] cassandra git commit: Factor out KSMetaData.KeyspaceParams
Posted by al...@apache.org.
Factor out KSMetaData.KeyspaceParams
patch by Aleksey Yeschenko; reviewed by Robert Stupp for CASSANDRA-9677
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/31e3f612
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/31e3f612
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/31e3f612
Branch: refs/heads/trunk
Commit: 31e3f612b113a76ca8c04a3a86aa6df3915ad055
Parents: 6e1033b
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Tue Jun 30 20:38:39 2015 +0300
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Wed Jul 1 16:36:12 2015 +0300
----------------------------------------------------------------------
.../org/apache/cassandra/auth/AuthKeyspace.java | 13 +-
.../org/apache/cassandra/config/KSMetaData.java | 130 ++++---------
.../org/apache/cassandra/config/Schema.java | 94 ++++------
src/java/org/apache/cassandra/cql3/Cql.g | 4 +-
.../cql3/statements/AlterKeyspaceStatement.java | 30 ++-
.../statements/CreateKeyspaceStatement.java | 20 +-
.../cassandra/cql3/statements/KSPropDefs.java | 89 ---------
.../cql3/statements/KeyspaceAttributes.java | 73 +++++++
.../apache/cassandra/db/ColumnFamilyStore.java | 2 +-
src/java/org/apache/cassandra/db/Keyspace.java | 17 +-
src/java/org/apache/cassandra/db/Mutation.java | 2 +-
.../org/apache/cassandra/db/SystemKeyspace.java | 5 +-
.../cassandra/io/sstable/CQLSSTableWriter.java | 16 +-
.../repair/SystemDistributedKeyspace.java | 12 +-
.../apache/cassandra/schema/KeyspaceParams.java | 188 +++++++++++++++++++
.../cassandra/schema/LegacySchemaTables.java | 57 +++---
.../cassandra/service/StorageService.java | 4 +-
.../cassandra/thrift/ThriftConversion.java | 18 +-
.../apache/cassandra/tracing/TraceKeyspace.java | 11 +-
.../db/compaction/LongCompactionsTest.java | 6 +-
.../LongLeveledCompactionStrategyTest.java | 8 +-
test/unit/org/apache/cassandra/MockSchema.java | 5 +-
.../unit/org/apache/cassandra/SchemaLoader.java | 119 ++++--------
.../cassandra/cache/AutoSavingCacheTest.java | 15 +-
.../cassandra/cache/CacheProviderTest.java | 12 +-
.../apache/cassandra/config/CFMetaDataTest.java | 7 +-
.../config/DatabaseDescriptorTest.java | 6 +-
.../apache/cassandra/config/KSMetaDataTest.java | 45 -----
.../config/LegacySchemaTablesTest.java | 7 +-
.../cassandra/cql3/ThriftCompatibilityTest.java | 14 +-
.../cql3/validation/entities/UFTest.java | 3 +-
.../validation/operations/AggregationTest.java | 2 +-
.../cassandra/db/BatchlogManagerTest.java | 12 +-
test/unit/org/apache/cassandra/db/CellTest.java | 13 +-
.../org/apache/cassandra/db/CleanupTest.java | 6 +-
.../cassandra/db/ColumnFamilyMetricTest.java | 8 +-
.../cassandra/db/ColumnFamilyStoreTest.java | 9 +-
.../org/apache/cassandra/db/CommitLogTest.java | 17 +-
.../apache/cassandra/db/CounterCacheTest.java | 9 +-
.../apache/cassandra/db/CounterCellTest.java | 6 +-
.../cassandra/db/CounterMutationTest.java | 11 +-
.../cassandra/db/DeletePartitionTest.java | 8 +-
.../apache/cassandra/db/HintedHandOffTest.java | 6 +-
.../org/apache/cassandra/db/KeyCacheTest.java | 13 +-
.../org/apache/cassandra/db/NameSortTest.java | 8 +-
.../cassandra/db/PartitionRangeReadTest.java | 16 +-
.../org/apache/cassandra/db/PartitionTest.java | 7 +-
.../apache/cassandra/db/RangeTombstoneTest.java | 7 +-
.../apache/cassandra/db/ReadMessageTest.java | 17 +-
.../db/RecoveryManagerFlushedTest.java | 15 +-
.../db/RecoveryManagerMissingHeaderTest.java | 14 +-
.../cassandra/db/RecoveryManagerTest.java | 12 +-
.../db/RecoveryManagerTruncateTest.java | 11 +-
.../org/apache/cassandra/db/RowCacheTest.java | 18 +-
test/unit/org/apache/cassandra/db/RowTest.java | 7 +-
.../unit/org/apache/cassandra/db/ScrubTest.java | 16 +-
.../apache/cassandra/db/SecondaryIndexTest.java | 9 +-
.../org/apache/cassandra/db/VerifyTest.java | 15 +-
.../db/compaction/AntiCompactionTest.java | 6 +-
.../compaction/BlacklistingCompactionsTest.java | 4 +-
.../db/compaction/CompactionsPurgeTest.java | 31 ++-
.../db/compaction/CompactionsTest.java | 4 +-
.../DateTieredCompactionStrategyTest.java | 9 +-
.../LeveledCompactionStrategyTest.java | 8 +-
.../db/compaction/OneCompactionTest.java | 8 +-
.../SizeTieredCompactionStrategyTest.java | 9 +-
.../cassandra/db/compaction/TTLExpiryTest.java | 32 ++--
.../db/index/PerRowSecondaryIndexTest.java | 9 +-
.../cassandra/db/marshal/CompositeTypeTest.java | 7 +-
.../db/marshal/DynamicCompositeTypeTest.java | 7 +-
.../apache/cassandra/dht/KeyCollisionTest.java | 9 +-
.../io/sstable/BigTableWriterTest.java | 6 +-
.../io/sstable/IndexSummaryManagerTest.java | 16 +-
.../cassandra/io/sstable/LegacySSTableTest.java | 7 +-
.../cassandra/io/sstable/SSTableLoaderTest.java | 7 +-
.../io/sstable/SSTableMetadataTest.java | 17 +-
.../cassandra/io/sstable/SSTableReaderTest.java | 12 +-
.../io/sstable/SSTableRewriterTest.java | 4 +-
.../io/sstable/SSTableScannerTest.java | 4 +-
.../locator/OldNetworkTopologyStrategyTest.java | 16 +-
.../ReplicationStrategyEndpointCacheTest.java | 6 +-
.../cassandra/locator/SimpleStrategyTest.java | 10 +-
.../cassandra/repair/LocalSyncTaskTest.java | 6 +-
.../apache/cassandra/repair/ValidatorTest.java | 7 +-
.../org/apache/cassandra/schema/DefsTest.java | 34 ++--
.../service/ActiveRepairServiceTest.java | 10 +-
.../cassandra/service/DataResolverTest.java | 11 +-
.../service/EmbeddedCassandraServiceTest.java | 16 +-
.../service/LeaveAndBootstrapTest.java | 4 +-
.../org/apache/cassandra/service/MoveTest.java | 4 +-
.../cassandra/service/QueryPagerTest.java | 9 +-
.../service/StorageServiceServerTest.java | 26 +--
.../streaming/StreamTransferTaskTest.java | 8 +-
.../streaming/StreamingTransferTest.java | 38 ++--
.../cassandra/triggers/TriggersSchemaTest.java | 29 +--
.../cassandra/utils/EncodedStreamsTest.java | 10 +-
96 files changed, 755 insertions(+), 1029 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/src/java/org/apache/cassandra/auth/AuthKeyspace.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/auth/AuthKeyspace.java b/src/java/org/apache/cassandra/auth/AuthKeyspace.java
index d8e31ae..17a9f72 100644
--- a/src/java/org/apache/cassandra/auth/AuthKeyspace.java
+++ b/src/java/org/apache/cassandra/auth/AuthKeyspace.java
@@ -19,15 +19,17 @@ package org.apache.cassandra.auth;
import java.util.concurrent.TimeUnit;
-import com.google.common.collect.ImmutableMap;
-
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.KSMetaData;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.schema.Tables;
-public class AuthKeyspace
+public final class AuthKeyspace
{
+ private AuthKeyspace()
+ {
+ }
+
public static final String NAME = "system_auth";
public static final String ROLES = "roles";
@@ -83,7 +85,6 @@ public class AuthKeyspace
public static KSMetaData definition()
{
- Tables tables = Tables.of(Roles, RoleMembers, RolePermissions, ResourceRoleIndex);
- return new KSMetaData(NAME, SimpleStrategy.class, ImmutableMap.of("replication_factor", "1"), true, tables);
+ return KSMetaData.create(NAME, KeyspaceParams.simple(1), Tables.of(Roles, RoleMembers, RolePermissions, ResourceRoleIndex));
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/src/java/org/apache/cassandra/config/KSMetaData.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/KSMetaData.java b/src/java/org/apache/cassandra/config/KSMetaData.java
index a6a796c..8683cfa 100644
--- a/src/java/org/apache/cassandra/config/KSMetaData.java
+++ b/src/java/org/apache/cassandra/config/KSMetaData.java
@@ -17,121 +17,70 @@
*/
package org.apache.cassandra.config;
-import java.util.*;
-
import com.google.common.base.Objects;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.*;
-import org.apache.cassandra.schema.Functions;
-import org.apache.cassandra.schema.Tables;
-import org.apache.cassandra.schema.Types;
-import org.apache.cassandra.service.StorageService;
+import org.apache.cassandra.schema.*;
+/**
+ * An immutable representation of keyspace metadata (name, params, tables, types, and functions).
+ */
public final class KSMetaData
{
public final String name;
- public final Class<? extends AbstractReplicationStrategy> strategyClass;
- public final Map<String, String> strategyOptions;
- public final boolean durableWrites;
-
+ public final KeyspaceParams params;
public final Tables tables;
public final Types types;
public final Functions functions;
- public KSMetaData(String name,
- Class<? extends AbstractReplicationStrategy> strategyClass,
- Map<String, String> strategyOptions,
- boolean durableWrites)
- {
- this(name, strategyClass, strategyOptions, durableWrites, Tables.none(), Types.none(), Functions.none());
- }
-
- public KSMetaData(String name,
- Class<? extends AbstractReplicationStrategy> strategyClass,
- Map<String, String> strategyOptions,
- boolean durableWrites,
- Tables tables)
- {
- this(name, strategyClass, strategyOptions, durableWrites, tables, Types.none(), Functions.none());
- }
-
- public KSMetaData(String name,
- Class<? extends AbstractReplicationStrategy> strategyClass,
- Map<String, String> strategyOptions,
- boolean durableWrites,
- Tables tables,
- Functions functions)
- {
- this(name, strategyClass, strategyOptions, durableWrites, tables, Types.none(), functions);
- }
-
- private KSMetaData(String name,
- Class<? extends AbstractReplicationStrategy> strategyClass,
- Map<String, String> strategyOptions,
- boolean durableWrites,
- Tables tables,
- Types types,
- Functions functions)
+ private KSMetaData(String name, KeyspaceParams params, Tables tables, Types types, Functions functions)
{
this.name = name;
- this.strategyClass = strategyClass == null ? NetworkTopologyStrategy.class : strategyClass;
- this.strategyOptions = strategyOptions;
- this.durableWrites = durableWrites;
+ this.params = params;
this.tables = tables;
this.types = types;
this.functions = functions;
}
- // For new user created keyspaces (through CQL)
- public static KSMetaData newKeyspace(String name, String strategyName, Map<String, String> options, boolean durableWrites) throws ConfigurationException
- {
- Class<? extends AbstractReplicationStrategy> cls = AbstractReplicationStrategy.getClass(strategyName);
- if (cls.equals(LocalStrategy.class))
- throw new ConfigurationException("Unable to use given strategy class: LocalStrategy is reserved for internal use.");
-
- return newKeyspace(name, cls, options, durableWrites, Tables.none());
- }
-
- public static KSMetaData newKeyspace(String name, Class<? extends AbstractReplicationStrategy> strategyClass, Map<String, String> options, boolean durablesWrites, Iterable<CFMetaData> cfDefs)
+ public static KSMetaData create(String name, KeyspaceParams params)
{
- return new KSMetaData(name, strategyClass, options, durablesWrites, Tables.of(cfDefs), Types.none(), Functions.none());
+ return new KSMetaData(name, params, Tables.none(), Types.none(), Functions.none());
}
- public KSMetaData cloneWith(Tables tables, Types types, Functions functions)
+ public static KSMetaData create(String name, KeyspaceParams params, Tables tables)
{
- return new KSMetaData(name, strategyClass, strategyOptions, durableWrites, tables, types, functions);
+ return new KSMetaData(name, params, tables, Types.none(), Functions.none());
}
- public KSMetaData cloneWith(Tables tables)
+ public static KSMetaData create(String name, KeyspaceParams params, Tables tables, Types types, Functions functions)
{
- return new KSMetaData(name, strategyClass, strategyOptions, durableWrites, tables, types, functions);
+ return new KSMetaData(name, params, tables, types, functions);
}
- public KSMetaData cloneWith(Types types)
+ public KSMetaData withSwapped(KeyspaceParams params)
{
- return new KSMetaData(name, strategyClass, strategyOptions, durableWrites, tables, types, functions);
+ return new KSMetaData(name, params, tables, types, functions);
}
- public KSMetaData cloneWith(Functions functions)
+ public KSMetaData withSwapped(Tables tables)
{
- return new KSMetaData(name, strategyClass, strategyOptions, durableWrites, tables, types, functions);
+ return new KSMetaData(name, params, tables, types, functions);
}
- public static KSMetaData testMetadata(String name, Class<? extends AbstractReplicationStrategy> strategyClass, Map<String, String> strategyOptions, CFMetaData... cfDefs)
+ public KSMetaData withSwapped(Types types)
{
- return new KSMetaData(name, strategyClass, strategyOptions, true, Tables.of(cfDefs));
+ return new KSMetaData(name, params, tables, types, functions);
}
- public static KSMetaData testMetadataNotDurable(String name, Class<? extends AbstractReplicationStrategy> strategyClass, Map<String, String> strategyOptions, CFMetaData... cfDefs)
+ public KSMetaData withSwapped(Functions functions)
{
- return new KSMetaData(name, strategyClass, strategyOptions, false, Tables.of(cfDefs));
+ return new KSMetaData(name, params, tables, types, functions);
}
@Override
public int hashCode()
{
- return Objects.hashCode(name, strategyClass, strategyOptions, durableWrites, tables, functions, types);
+ return Objects.hashCode(name, params, tables, functions, types);
}
@Override
@@ -145,13 +94,11 @@ public final class KSMetaData
KSMetaData other = (KSMetaData) o;
- return Objects.equal(name, other.name)
- && Objects.equal(strategyClass, other.strategyClass)
- && Objects.equal(strategyOptions, other.strategyOptions)
- && Objects.equal(durableWrites, other.durableWrites)
- && Objects.equal(tables, other.tables)
- && Objects.equal(functions, other.functions)
- && Objects.equal(types, other.types);
+ return name.equals(other.name)
+ && params.equals(other.params)
+ && tables.equals(other.tables)
+ && functions.equals(other.functions)
+ && types.equals(other.types);
}
@Override
@@ -159,31 +106,20 @@ public final class KSMetaData
{
return Objects.toStringHelper(this)
.add("name", name)
- .add("strategyClass", strategyClass.getSimpleName())
- .add("strategyOptions", strategyOptions)
- .add("durableWrites", durableWrites)
+ .add("params", params)
.add("tables", tables)
.add("functions", functions)
.add("types", types)
.toString();
}
- public static Map<String,String> optsWithRF(final Integer rf)
- {
- return Collections.singletonMap("replication_factor", rf.toString());
- }
-
- public KSMetaData validate() throws ConfigurationException
+ public void validate()
{
if (!CFMetaData.isNameValid(name))
- throw new ConfigurationException(String.format("Keyspace name must not be empty, more than %s characters long, or contain non-alphanumeric-underscore characters (got \"%s\")", Schema.NAME_LENGTH, name));
-
- // Attempt to instantiate the ARS, which will throw a ConfigException if the strategy_options aren't fully formed
- TokenMetadata tmd = StorageService.instance.getTokenMetadata();
- IEndpointSnitch eps = DatabaseDescriptor.getEndpointSnitch();
- AbstractReplicationStrategy.validateReplicationStrategy(name, strategyClass, tmd, eps, strategyOptions);
-
+ throw new ConfigurationException(String.format("Keyspace name must not be empty, more than %s characters long, "
+ + "or contain non-alphanumeric-underscore characters (got \"%s\")",
+ Schema.NAME_LENGTH,
+ name));
tables.forEach(CFMetaData::validate);
- return this;
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/src/java/org/apache/cassandra/config/Schema.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/Schema.java b/src/java/org/apache/cassandra/config/Schema.java
index 160d7ed..aba9240 100644
--- a/src/java/org/apache/cassandra/config/Schema.java
+++ b/src/java/org/apache/cassandra/config/Schema.java
@@ -37,6 +37,7 @@ import org.apache.cassandra.db.compaction.CompactionManager;
import org.apache.cassandra.db.marshal.AbstractType;
import org.apache.cassandra.db.marshal.UserType;
import org.apache.cassandra.io.sstable.Descriptor;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.schema.LegacySchemaTables;
import org.apache.cassandra.schema.Tables;
import org.apache.cassandra.service.MigrationManager;
@@ -288,7 +289,11 @@ public class Schema
public void setKeyspaceDefinition(KSMetaData ksm)
{
assert ksm != null;
+
keyspaces.put(ksm.name, ksm);
+ Keyspace keyspace = getKeyspaceInstance(ksm.name);
+ if (keyspace != null)
+ keyspace.setMetadata(ksm);
}
/* ColumnFamily query/control methods */
@@ -444,15 +449,11 @@ public class Schema
MigrationManager.instance.notifyCreateKeyspace(ksm);
}
- public void updateKeyspace(String ksName)
+ public void updateKeyspace(String ksName, KeyspaceParams newParams)
{
- KSMetaData oldKsm = getKSMetaData(ksName);
- assert oldKsm != null;
- KSMetaData newKsm = LegacySchemaTables.createKeyspaceFromName(ksName)
- .cloneWith(oldKsm.tables, oldKsm.types, oldKsm.functions);
- setKeyspaceDefinition(newKsm);
- Keyspace.open(ksName).createReplicationStrategy(newKsm);
- MigrationManager.instance.notifyUpdateKeyspace(newKsm);
+ KSMetaData ksm = update(ksName, ks -> ks.withSwapped(newParams));
+ Keyspace.open(ksName).createReplicationStrategy(ksm);
+ MigrationManager.instance.notifyUpdateKeyspace(ksm);
}
public void dropKeyspace(String ksName)
@@ -494,18 +495,18 @@ public class Schema
public void addTable(CFMetaData cfm)
{
assert getCFMetaData(cfm.ksName, cfm.cfName) == null;
- KSMetaData oldKsm = getKSMetaData(cfm.ksName);
- KSMetaData newKsm = oldKsm.cloneWith(oldKsm.tables.with(cfm));
- logger.info("Loading {}", cfm);
+ update(cfm.ksName, ks ->
+ {
+ load(cfm);
- load(cfm);
+ // make sure it's init-ed w/ the old definitions first,
+ // since we're going to call initCf on the new one manually
+ Keyspace.open(cfm.ksName);
- // make sure it's init-ed w/ the old definitions first,
- // since we're going to call initCf on the new one manually
- Keyspace.open(cfm.ksName);
+ return ks.withSwapped(ks.tables.with(cfm));
+ });
- setKeyspaceDefinition(newKsm);
Keyspace.open(cfm.ksName).initCf(cfm.cfId, cfm.cfName, true);
MigrationManager.instance.notifyCreateColumnFamily(cfm);
}
@@ -530,7 +531,7 @@ public class Schema
// reinitialize the keyspace.
CFMetaData cfm = oldKsm.tables.get(tableName).get();
- KSMetaData newKsm = oldKsm.cloneWith(oldKsm.tables.without(tableName));
+ KSMetaData newKsm = oldKsm.withSwapped(oldKsm.tables.without(tableName));
purge(cfm);
setKeyspaceDefinition(newKsm);
@@ -547,94 +548,67 @@ public class Schema
public void addType(UserType ut)
{
- KSMetaData oldKsm = getKSMetaData(ut.keyspace);
- assert oldKsm != null;
- KSMetaData newKsm = oldKsm.cloneWith(oldKsm.types.with(ut));
- setKeyspaceDefinition(newKsm);
+ update(ut.keyspace, ks -> ks.withSwapped(ks.types.with(ut)));
MigrationManager.instance.notifyCreateUserType(ut);
}
public void updateType(UserType ut)
{
- KSMetaData oldKsm = getKSMetaData(ut.keyspace);
- assert oldKsm != null;
- KSMetaData newKsm = oldKsm.cloneWith(oldKsm.types.without(ut.name).with(ut));
- setKeyspaceDefinition(newKsm);
+ update(ut.keyspace, ks -> ks.withSwapped(ks.types.without(ut.name).with(ut)));
MigrationManager.instance.notifyUpdateUserType(ut);
}
public void dropType(UserType ut)
{
- KSMetaData oldKsm = getKSMetaData(ut.keyspace);
- assert oldKsm != null;
- KSMetaData newKsm = oldKsm.cloneWith(oldKsm.types.without(ut.name));
- setKeyspaceDefinition(newKsm);
+ update(ut.keyspace, ks -> ks.withSwapped(ks.types.without(ut.name)));
MigrationManager.instance.notifyDropUserType(ut);
}
public void addFunction(UDFunction udf)
{
- addFunctionInternal(udf);
+ update(udf.name().keyspace, ks -> ks.withSwapped(ks.functions.with(udf)));
MigrationManager.instance.notifyCreateFunction(udf);
}
public void updateFunction(UDFunction udf)
{
- updateFunctionInternal(udf);
+ update(udf.name().keyspace, ks -> ks.withSwapped(ks.functions.without(udf.name(), udf.argTypes()).with(udf)));
MigrationManager.instance.notifyUpdateFunction(udf);
}
public void dropFunction(UDFunction udf)
{
- dropFunctionInternal(udf);
+ update(udf.name().keyspace, ks -> ks.withSwapped(ks.functions.without(udf.name(), udf.argTypes())));
MigrationManager.instance.notifyDropFunction(udf);
}
public void addAggregate(UDAggregate uda)
{
- addFunctionInternal(uda);
+ update(uda.name().keyspace, ks -> ks.withSwapped(ks.functions.with(uda)));
MigrationManager.instance.notifyCreateAggregate(uda);
}
public void updateAggregate(UDAggregate uda)
{
- updateFunctionInternal(uda);
+ update(uda.name().keyspace, ks -> ks.withSwapped(ks.functions.without(uda.name(), uda.argTypes()).with(uda)));
MigrationManager.instance.notifyUpdateAggregate(uda);
}
public void dropAggregate(UDAggregate uda)
{
- dropFunctionInternal(uda);
+ update(uda.name().keyspace, ks -> ks.withSwapped(ks.functions.without(uda.name(), uda.argTypes())));
MigrationManager.instance.notifyDropAggregate(uda);
}
- private void addFunctionInternal(Function fun)
+ private KSMetaData update(String keyspaceName, java.util.function.Function<KSMetaData, KSMetaData> transformation)
{
- assert fun instanceof UDFunction || fun instanceof UDAggregate;
+ KSMetaData current = getKSMetaData(keyspaceName);
+ if (current == null)
+ throw new IllegalStateException(String.format("Keyspace %s doesn't exist", keyspaceName));
- KSMetaData oldKsm = getKSMetaData(fun.name().keyspace);
- assert oldKsm != null;
- KSMetaData newKsm = oldKsm.cloneWith(oldKsm.functions.with(fun));
- setKeyspaceDefinition(newKsm);
- }
-
- private void updateFunctionInternal(Function fun)
- {
- assert fun instanceof UDFunction || fun instanceof UDAggregate;
-
- KSMetaData oldKsm = getKSMetaData(fun.name().keyspace);
- assert oldKsm != null;
- KSMetaData newKsm = oldKsm.cloneWith(oldKsm.functions.without(fun.name(), fun.argTypes()).with(fun));
- setKeyspaceDefinition(newKsm);
- }
-
- private void dropFunctionInternal(Function fun)
- {
- assert fun instanceof UDFunction || fun instanceof UDAggregate;
+ KSMetaData transformed = transformation.apply(current);
+ setKeyspaceDefinition(transformed);
- KSMetaData oldKsm = getKSMetaData(fun.name().keyspace);
- assert oldKsm != null;
- KSMetaData newKsm = oldKsm.cloneWith(oldKsm.functions.without(fun.name(), fun.argTypes()));
- setKeyspaceDefinition(newKsm);
+ return transformed;
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/src/java/org/apache/cassandra/cql3/Cql.g
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/Cql.g b/src/java/org/apache/cassandra/cql3/Cql.g
index 093a47c..df4623d 100644
--- a/src/java/org/apache/cassandra/cql3/Cql.g
+++ b/src/java/org/apache/cassandra/cql3/Cql.g
@@ -642,7 +642,7 @@ dropFunctionStatement returns [DropFunctionStatement expr]
*/
createKeyspaceStatement returns [CreateKeyspaceStatement expr]
@init {
- KSPropDefs attrs = new KSPropDefs();
+ KeyspaceAttributes attrs = new KeyspaceAttributes();
boolean ifNotExists = false;
}
: K_CREATE K_KEYSPACE (K_IF K_NOT K_EXISTS { ifNotExists = true; } )? ks=keyspaceName
@@ -760,7 +760,7 @@ dropTriggerStatement returns [DropTriggerStatement expr]
* ALTER KEYSPACE <KS> WITH <property> = <value>;
*/
alterKeyspaceStatement returns [AlterKeyspaceStatement expr]
- @init { KSPropDefs attrs = new KSPropDefs(); }
+ @init { KeyspaceAttributes attrs = new KeyspaceAttributes(); }
: K_ALTER K_KEYSPACE ks=keyspaceName
K_WITH properties[attrs] { $expr = new AlterKeyspaceStatement(ks, attrs); }
;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/src/java/org/apache/cassandra/cql3/statements/AlterKeyspaceStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/AlterKeyspaceStatement.java b/src/java/org/apache/cassandra/cql3/statements/AlterKeyspaceStatement.java
index 50c3f00..502160d 100644
--- a/src/java/org/apache/cassandra/cql3/statements/AlterKeyspaceStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/AlterKeyspaceStatement.java
@@ -18,23 +18,22 @@
package org.apache.cassandra.cql3.statements;
import org.apache.cassandra.auth.Permission;
-import org.apache.cassandra.config.DatabaseDescriptor;
import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.db.SystemKeyspace;
import org.apache.cassandra.exceptions.*;
-import org.apache.cassandra.locator.AbstractReplicationStrategy;
+import org.apache.cassandra.locator.LocalStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.ClientState;
import org.apache.cassandra.service.MigrationManager;
-import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.transport.Event;
public class AlterKeyspaceStatement extends SchemaAlteringStatement
{
private final String name;
- private final KSPropDefs attrs;
+ private final KeyspaceAttributes attrs;
- public AlterKeyspaceStatement(String name, KSPropDefs attrs)
+ public AlterKeyspaceStatement(String name, KeyspaceAttributes attrs)
{
super();
this.name = name;
@@ -63,30 +62,29 @@ public class AlterKeyspaceStatement extends SchemaAlteringStatement
attrs.validate();
if (attrs.getReplicationStrategyClass() == null && !attrs.getReplicationOptions().isEmpty())
- {
throw new ConfigurationException("Missing replication strategy class");
- }
- else if (attrs.getReplicationStrategyClass() != null)
+
+ if (attrs.getReplicationStrategyClass() != null)
{
// The strategy is validated through KSMetaData.validate() in announceKeyspaceUpdate below.
// However, for backward compatibility with thrift, this doesn't validate unexpected options yet,
// so doing proper validation here.
- AbstractReplicationStrategy.validateReplicationStrategy(name,
- AbstractReplicationStrategy.getClass(attrs.getReplicationStrategyClass()),
- StorageService.instance.getTokenMetadata(),
- DatabaseDescriptor.getEndpointSnitch(),
- attrs.getReplicationOptions());
+ KeyspaceParams params = attrs.asAlteredKeyspaceParams(ksm.params);
+ params.validate(name);
+ if (params.replication.klass.equals(LocalStrategy.class))
+ throw new ConfigurationException("Unable to use given strategy class: LocalStrategy is reserved for internal use.");
}
}
public boolean announceMigration(boolean isLocalOnly) throws RequestValidationException
{
- KSMetaData ksm = Schema.instance.getKSMetaData(name);
+ KSMetaData oldKsm = Schema.instance.getKSMetaData(name);
// In the (very) unlikely case the keyspace was dropped since validate()
- if (ksm == null)
+ if (oldKsm == null)
throw new InvalidRequestException("Unknown keyspace " + name);
- MigrationManager.announceKeyspaceUpdate(attrs.asKSMetadataUpdate(ksm), isLocalOnly);
+ KSMetaData newKsm = oldKsm.withSwapped(attrs.asAlteredKeyspaceParams(oldKsm.params));
+ MigrationManager.announceKeyspaceUpdate(newKsm, isLocalOnly);
return true;
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/src/java/org/apache/cassandra/cql3/statements/CreateKeyspaceStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/CreateKeyspaceStatement.java b/src/java/org/apache/cassandra/cql3/statements/CreateKeyspaceStatement.java
index a3e27e4..ac00222 100644
--- a/src/java/org/apache/cassandra/cql3/statements/CreateKeyspaceStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/CreateKeyspaceStatement.java
@@ -19,9 +19,11 @@ package org.apache.cassandra.cql3.statements;
import org.apache.cassandra.auth.*;
import org.apache.cassandra.config.DatabaseDescriptor;
+import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.exceptions.*;
-import org.apache.cassandra.locator.AbstractReplicationStrategy;
+import org.apache.cassandra.locator.LocalStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.*;
import org.apache.cassandra.thrift.ThriftValidation;
import org.apache.cassandra.transport.Event;
@@ -30,7 +32,7 @@ import org.apache.cassandra.transport.Event;
public class CreateKeyspaceStatement extends SchemaAlteringStatement
{
private final String name;
- private final KSPropDefs attrs;
+ private final KeyspaceAttributes attrs;
private final boolean ifNotExists;
/**
@@ -40,7 +42,7 @@ public class CreateKeyspaceStatement extends SchemaAlteringStatement
* @param name the name of the keyspace to create
* @param attrs map of the raw keyword arguments that followed the <code>WITH</code> keyword.
*/
- public CreateKeyspaceStatement(String name, KSPropDefs attrs, boolean ifNotExists)
+ public CreateKeyspaceStatement(String name, KeyspaceAttributes attrs, boolean ifNotExists)
{
super();
this.name = name;
@@ -84,18 +86,18 @@ public class CreateKeyspaceStatement extends SchemaAlteringStatement
// The strategy is validated through KSMetaData.validate() in announceNewKeyspace below.
// However, for backward compatibility with thrift, this doesn't validate unexpected options yet,
// so doing proper validation here.
- AbstractReplicationStrategy.validateReplicationStrategy(name,
- AbstractReplicationStrategy.getClass(attrs.getReplicationStrategyClass()),
- StorageService.instance.getTokenMetadata(),
- DatabaseDescriptor.getEndpointSnitch(),
- attrs.getReplicationOptions());
+ KeyspaceParams params = attrs.asNewKeyspaceParams();
+ params.validate(name);
+ if (params.replication.klass.equals(LocalStrategy.class))
+ throw new ConfigurationException("Unable to use given strategy class: LocalStrategy is reserved for internal use.");
}
public boolean announceMigration(boolean isLocalOnly) throws RequestValidationException
{
+ KSMetaData ksm = KSMetaData.create(name, attrs.asNewKeyspaceParams());
try
{
- MigrationManager.announceNewKeyspace(attrs.asKSMetadata(name), isLocalOnly);
+ MigrationManager.announceNewKeyspace(ksm, isLocalOnly);
return true;
}
catch (AlreadyExistsException e)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/src/java/org/apache/cassandra/cql3/statements/KSPropDefs.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/KSPropDefs.java b/src/java/org/apache/cassandra/cql3/statements/KSPropDefs.java
deleted file mode 100644
index 7c05435..0000000
--- a/src/java/org/apache/cassandra/cql3/statements/KSPropDefs.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.cassandra.cql3.statements;
-
-import java.util.*;
-
-import org.apache.cassandra.config.KSMetaData;
-import org.apache.cassandra.exceptions.*;
-
-public class KSPropDefs extends PropertyDefinitions
-{
- public static final String KW_DURABLE_WRITES = "durable_writes";
- public static final String KW_REPLICATION = "replication";
-
- public static final String REPLICATION_STRATEGY_CLASS_KEY = "class";
-
- public static final Set<String> keywords = new HashSet<>();
- public static final Set<String> obsoleteKeywords = new HashSet<>();
-
- static
- {
- keywords.add(KW_DURABLE_WRITES);
- keywords.add(KW_REPLICATION);
- }
-
- private String strategyClass;
-
- public void validate() throws SyntaxException
- {
- // Skip validation if the strategy class is already set as it means we've alreayd
- // prepared (and redoing it would set strategyClass back to null, which we don't want)
- if (strategyClass != null)
- return;
-
- validate(keywords, obsoleteKeywords);
-
- Map<String, String> replicationOptions = getReplicationOptions();
- if (!replicationOptions.isEmpty())
- {
- strategyClass = replicationOptions.get(REPLICATION_STRATEGY_CLASS_KEY);
- replicationOptions.remove(REPLICATION_STRATEGY_CLASS_KEY);
- }
- }
-
- public Map<String, String> getReplicationOptions() throws SyntaxException
- {
- Map<String, String> replicationOptions = getMap(KW_REPLICATION);
- if (replicationOptions == null)
- return Collections.emptyMap();
- return replicationOptions;
- }
-
- public String getReplicationStrategyClass()
- {
- return strategyClass;
- }
-
- public KSMetaData asKSMetadata(String ksName) throws RequestValidationException
- {
- return KSMetaData.newKeyspace(ksName, getReplicationStrategyClass(), getReplicationOptions(), getBoolean(KW_DURABLE_WRITES, true));
- }
-
- public KSMetaData asKSMetadataUpdate(KSMetaData old) throws RequestValidationException
- {
- String sClass = strategyClass;
- Map<String, String> sOptions = getReplicationOptions();
- if (sClass == null)
- {
- sClass = old.strategyClass.getName();
- sOptions = old.strategyOptions;
- }
- return KSMetaData.newKeyspace(old.name, sClass, sOptions, getBoolean(KW_DURABLE_WRITES, old.durableWrites));
- }
-}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/src/java/org/apache/cassandra/cql3/statements/KeyspaceAttributes.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/KeyspaceAttributes.java b/src/java/org/apache/cassandra/cql3/statements/KeyspaceAttributes.java
new file mode 100644
index 0000000..d931530
--- /dev/null
+++ b/src/java/org/apache/cassandra/cql3/statements/KeyspaceAttributes.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cassandra.cql3.statements;
+
+import java.util.*;
+
+import com.google.common.collect.ImmutableSet;
+
+import org.apache.cassandra.exceptions.*;
+import org.apache.cassandra.schema.KeyspaceParams;
+import org.apache.cassandra.schema.KeyspaceParams.Option;
+import org.apache.cassandra.schema.KeyspaceParams.Replication;
+
+public class KeyspaceAttributes extends PropertyDefinitions
+{
+ private static final Set<String> keywords = ImmutableSet.of(Option.DURABLE_WRITES.toString(), Option.REPLICATION.toString());
+ private static final Set<String> obsoleteKeywords = ImmutableSet.of();
+
+ public void validate() throws SyntaxException
+ {
+ validate(keywords, obsoleteKeywords);
+ }
+
+ public String getReplicationStrategyClass()
+ {
+ return getAllReplicationOptions().get(Replication.CLASS);
+ }
+
+ public Map<String, String> getReplicationOptions() throws SyntaxException
+ {
+ Map<String, String> replication = new HashMap<>(getAllReplicationOptions());
+ replication.remove(Replication.CLASS);
+ return replication;
+ }
+
+ public Map<String, String> getAllReplicationOptions() throws SyntaxException
+ {
+ Map<String, String> replication = getMap(Option.REPLICATION.toString());
+ return replication == null
+ ? Collections.emptyMap()
+ : replication;
+ }
+
+ public KeyspaceParams asNewKeyspaceParams()
+ {
+ boolean durableWrites = getBoolean(Option.DURABLE_WRITES.toString(), KeyspaceParams.DEFAULT_DURABLE_WRITES);
+ return KeyspaceParams.create(durableWrites, getAllReplicationOptions());
+ }
+
+ public KeyspaceParams asAlteredKeyspaceParams(KeyspaceParams previous)
+ {
+ boolean durableWrites = getBoolean(Option.DURABLE_WRITES.toString(), previous.durableWrites);
+ Replication replication = getReplicationStrategyClass() == null
+ ? previous.replication
+ : Replication.fromMap(getAllReplicationOptions());
+ return new KeyspaceParams(durableWrites, replication);
+ }
+}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index 8fb83af..dac7f01 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -1963,7 +1963,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
// position in the System keyspace.
logger.debug("truncating {}", name);
- if (keyspace.metadata.durableWrites || DatabaseDescriptor.isAutoSnapshot())
+ if (keyspace.getMetadata().params.durableWrites || DatabaseDescriptor.isAutoSnapshot())
{
// flush the CF being truncated before forcing the new segment
forceBlockingFlush();
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/src/java/org/apache/cassandra/db/Keyspace.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/Keyspace.java b/src/java/org/apache/cassandra/db/Keyspace.java
index fc7fc14..3c5a8c8 100644
--- a/src/java/org/apache/cassandra/db/Keyspace.java
+++ b/src/java/org/apache/cassandra/db/Keyspace.java
@@ -65,7 +65,7 @@ public class Keyspace
DatabaseDescriptor.createAllDirectories();
}
- public final KSMetaData metadata;
+ private volatile KSMetaData metadata;
public final OpOrder writeOrder = new OpOrder();
/* ColumnFamilyStore per column family */
@@ -81,6 +81,7 @@ public class Keyspace
};
private static volatile boolean initialized = false;
+
public static void setInitialized()
{
initialized = true;
@@ -165,6 +166,16 @@ public class Keyspace
}
}
+ public void setMetadata(KSMetaData metadata)
+ {
+ this.metadata = metadata;
+ }
+
+ public KSMetaData getMetadata()
+ {
+ return metadata;
+ }
+
public Collection<ColumnFamilyStore> getColumnFamilyStores()
{
return Collections.unmodifiableCollection(columnFamilyStores.values());
@@ -294,10 +305,10 @@ public class Keyspace
public void createReplicationStrategy(KSMetaData ksm)
{
replicationStrategy = AbstractReplicationStrategy.createReplicationStrategy(ksm.name,
- ksm.strategyClass,
+ ksm.params.replication.klass,
StorageService.instance.getTokenMetadata(),
DatabaseDescriptor.getEndpointSnitch(),
- ksm.strategyOptions);
+ ksm.params.replication.options);
}
// best invoked on the compaction mananger.
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/src/java/org/apache/cassandra/db/Mutation.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/Mutation.java b/src/java/org/apache/cassandra/db/Mutation.java
index 355d259..b2eaf8e 100644
--- a/src/java/org/apache/cassandra/db/Mutation.java
+++ b/src/java/org/apache/cassandra/db/Mutation.java
@@ -183,7 +183,7 @@ public class Mutation implements IMutation
public void apply()
{
Keyspace ks = Keyspace.open(keyspaceName);
- ks.apply(this, ks.metadata.durableWrites);
+ ks.apply(this, ks.getMetadata().params.durableWrites);
}
public void applyUnsafe()
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/src/java/org/apache/cassandra/db/SystemKeyspace.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/SystemKeyspace.java b/src/java/org/apache/cassandra/db/SystemKeyspace.java
index c20cd40..85e1263 100644
--- a/src/java/org/apache/cassandra/db/SystemKeyspace.java
+++ b/src/java/org/apache/cassandra/db/SystemKeyspace.java
@@ -49,12 +49,13 @@ import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.sstable.format.SSTableReader;
import org.apache.cassandra.io.util.DataOutputBuffer;
import org.apache.cassandra.locator.IEndpointSnitch;
-import org.apache.cassandra.locator.LocalStrategy;
import org.apache.cassandra.metrics.RestorableMeter;
import org.apache.cassandra.net.MessagingService;
import org.apache.cassandra.schema.Functions;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.schema.LegacySchemaTables;
import org.apache.cassandra.schema.Tables;
+import org.apache.cassandra.schema.Types;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.service.paxos.Commit;
import org.apache.cassandra.service.paxos.PaxosState;
@@ -267,7 +268,7 @@ public final class SystemKeyspace
public static KSMetaData definition()
{
- return new KSMetaData(NAME, LocalStrategy.class, Collections.<String, String>emptyMap(), true, tables(), functions());
+ return KSMetaData.create(NAME, KeyspaceParams.local(), tables(), Types.none(), functions());
}
private static Tables tables()
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/src/java/org/apache/cassandra/io/sstable/CQLSSTableWriter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/sstable/CQLSSTableWriter.java b/src/java/org/apache/cassandra/io/sstable/CQLSSTableWriter.java
index 1a9fc99..44651be 100644
--- a/src/java/org/apache/cassandra/io/sstable/CQLSSTableWriter.java
+++ b/src/java/org/apache/cassandra/io/sstable/CQLSSTableWriter.java
@@ -23,8 +23,6 @@ import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.*;
-import com.google.common.collect.ImmutableMap;
-
import org.apache.cassandra.config.*;
import org.apache.cassandra.cql3.*;
import org.apache.cassandra.cql3.statements.CreateTableStatement;
@@ -38,7 +36,8 @@ import org.apache.cassandra.dht.Murmur3Partitioner;
import org.apache.cassandra.exceptions.InvalidRequestException;
import org.apache.cassandra.exceptions.RequestValidationException;
import org.apache.cassandra.io.sstable.format.SSTableFormat;
-import org.apache.cassandra.locator.AbstractReplicationStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
+import org.apache.cassandra.schema.Tables;
import org.apache.cassandra.service.ClientState;
import org.apache.cassandra.utils.Pair;
@@ -374,13 +373,7 @@ public class CQLSSTableWriter implements Closeable
*/
private static void createKeyspaceWithTable(CFMetaData table)
{
- KSMetaData ksm;
- ksm = KSMetaData.newKeyspace(table.ksName,
- AbstractReplicationStrategy.getClass("org.apache.cassandra.locator.SimpleStrategy"),
- ImmutableMap.of("replication_factor", "1"),
- true,
- Collections.singleton(table));
- Schema.instance.load(ksm);
+ Schema.instance.load(KSMetaData.create(table.ksName, KeyspaceParams.simple(1), Tables.of(table)));
}
/**
@@ -391,9 +384,8 @@ public class CQLSSTableWriter implements Closeable
*/
private static void addTableToKeyspace(KSMetaData keyspace, CFMetaData table)
{
- KSMetaData clone = keyspace.cloneWith(keyspace.tables.with(table));
Schema.instance.load(table);
- Schema.instance.setKeyspaceDefinition(clone);
+ Schema.instance.setKeyspaceDefinition(keyspace.withSwapped(keyspace.tables.with(table)));
}
/**
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/src/java/org/apache/cassandra/repair/SystemDistributedKeyspace.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/repair/SystemDistributedKeyspace.java b/src/java/org/apache/cassandra/repair/SystemDistributedKeyspace.java
index ecc1687..1fec76f 100644
--- a/src/java/org/apache/cassandra/repair/SystemDistributedKeyspace.java
+++ b/src/java/org/apache/cassandra/repair/SystemDistributedKeyspace.java
@@ -28,7 +28,6 @@ import java.util.Set;
import java.util.UUID;
import com.google.common.base.Joiner;
-import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Sets;
import org.slf4j.Logger;
@@ -40,14 +39,18 @@ import org.apache.cassandra.cql3.QueryProcessor;
import org.apache.cassandra.db.ConsistencyLevel;
import org.apache.cassandra.dht.Range;
import org.apache.cassandra.dht.Token;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.schema.Tables;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
public final class SystemDistributedKeyspace
{
- private static Logger logger = LoggerFactory.getLogger(SystemDistributedKeyspace.class);
+ private SystemDistributedKeyspace()
+ {
+ }
+
+ private static final Logger logger = LoggerFactory.getLogger(SystemDistributedKeyspace.class);
public static final String NAME = "system_distributed";
@@ -97,8 +100,7 @@ public final class SystemDistributedKeyspace
public static KSMetaData definition()
{
- Tables tables = Tables.of(RepairHistory, ParentRepairHistory);
- return new KSMetaData(NAME, SimpleStrategy.class, ImmutableMap.of("replication_factor", "3"), true, tables);
+ return KSMetaData.create(NAME, KeyspaceParams.simple(3), Tables.of(RepairHistory, ParentRepairHistory));
}
public static void startParentRepair(UUID parent_id, String keyspaceName, String[] cfnames, Collection<Range<Token>> ranges)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/src/java/org/apache/cassandra/schema/KeyspaceParams.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/schema/KeyspaceParams.java b/src/java/org/apache/cassandra/schema/KeyspaceParams.java
new file mode 100644
index 0000000..a8de2bd
--- /dev/null
+++ b/src/java/org/apache/cassandra/schema/KeyspaceParams.java
@@ -0,0 +1,188 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cassandra.schema;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import com.google.common.base.Objects;
+import com.google.common.collect.ImmutableMap;
+
+import org.apache.cassandra.config.DatabaseDescriptor;
+import org.apache.cassandra.locator.*;
+import org.apache.cassandra.service.StorageService;
+
+/**
+ * An immutable class representing keyspace parameters (durability and replication).
+ */
+public final class KeyspaceParams
+{
+ public static final boolean DEFAULT_DURABLE_WRITES = true;
+
+ public enum Option
+ {
+ DURABLE_WRITES,
+ REPLICATION;
+
+ @Override
+ public String toString()
+ {
+ return name().toLowerCase();
+ }
+ }
+
+ public final boolean durableWrites;
+ public final Replication replication;
+
+ public KeyspaceParams(boolean durableWrites, Replication replication)
+ {
+ this.durableWrites = durableWrites;
+ this.replication = replication;
+ }
+
+ public static KeyspaceParams create(boolean durableWrites, Map<String, String> replication)
+ {
+ return new KeyspaceParams(durableWrites, Replication.fromMap(replication));
+ }
+
+ public static KeyspaceParams local()
+ {
+ return new KeyspaceParams(true, Replication.local());
+ }
+
+ public static KeyspaceParams simple(int replicationFactor)
+ {
+ return new KeyspaceParams(true, Replication.simple(replicationFactor));
+ }
+
+ public static KeyspaceParams simpleTransient(int replicationFactor)
+ {
+ return new KeyspaceParams(false, Replication.simple(replicationFactor));
+ }
+
+ public void validate(String name)
+ {
+ replication.validate(name);
+ }
+
+ @Override
+ public boolean equals(Object o)
+ {
+ if (this == o)
+ return true;
+
+ if (!(o instanceof KeyspaceParams))
+ return false;
+
+ KeyspaceParams p = (KeyspaceParams) o;
+
+ return durableWrites == p.durableWrites && replication.equals(p.replication);
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return Objects.hashCode(durableWrites, replication);
+ }
+
+ @Override
+ public String toString()
+ {
+ return Objects.toStringHelper(this)
+ .add(Option.DURABLE_WRITES.toString(), durableWrites)
+ .add(Option.REPLICATION.toString(), replication)
+ .toString();
+ }
+
+ public static final class Replication
+ {
+ public static String CLASS = "class";
+
+ public final Class<? extends AbstractReplicationStrategy> klass;
+ public final ImmutableMap<String, String> options;
+
+ private Replication(Class<? extends AbstractReplicationStrategy> klass, Map<String, String> options)
+ {
+ this.klass = klass;
+ this.options = ImmutableMap.copyOf(options);
+ }
+
+ private static Replication local()
+ {
+ return new Replication(LocalStrategy.class, ImmutableMap.of());
+ }
+
+ private static Replication simple(int replicationFactor)
+ {
+ return new Replication(SimpleStrategy.class, ImmutableMap.of("replication_factor", Integer.toString(replicationFactor)));
+ }
+
+ public void validate(String name)
+ {
+ // Attempt to instantiate the ARS, which will throw a ConfigurationException if the options aren't valid.
+ TokenMetadata tmd = StorageService.instance.getTokenMetadata();
+ IEndpointSnitch eps = DatabaseDescriptor.getEndpointSnitch();
+ AbstractReplicationStrategy.validateReplicationStrategy(name, klass, tmd, eps, options);
+ }
+
+ public static Replication fromMap(Map<String, String> map)
+ {
+ Map<String, String> options = new HashMap<>(map);
+ String className = options.remove(CLASS);
+ Class<? extends AbstractReplicationStrategy> klass = AbstractReplicationStrategy.getClass(className);
+ return new Replication(klass, options);
+ }
+
+ public Map<String, String> asMap()
+ {
+ Map<String, String> map = new HashMap<>(options);
+ map.put(CLASS, klass.getName());
+ return map;
+ }
+
+ @Override
+ public boolean equals(Object o)
+ {
+ if (this == o)
+ return true;
+
+ if (!(o instanceof Replication))
+ return false;
+
+ Replication r = (Replication) o;
+
+ return klass.equals(r.klass) && options.equals(r.options);
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return Objects.hashCode(klass, options);
+ }
+
+ @Override
+ public String toString()
+ {
+ Objects.ToStringHelper helper = Objects.toStringHelper(this);
+ helper.add(CLASS, klass.getName());
+ for (Map.Entry<String, String> entry : options.entrySet())
+ helper.add(entry.getKey(), entry.getValue());
+ return helper.toString();
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/src/java/org/apache/cassandra/schema/LegacySchemaTables.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/schema/LegacySchemaTables.java b/src/java/org/apache/cassandra/schema/LegacySchemaTables.java
index b3044ac..ffc3537 100644
--- a/src/java/org/apache/cassandra/schema/LegacySchemaTables.java
+++ b/src/java/org/apache/cassandra/schema/LegacySchemaTables.java
@@ -44,7 +44,6 @@ import org.apache.cassandra.db.partitions.*;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.exceptions.InvalidRequestException;
import org.apache.cassandra.io.compress.CompressionParameters;
-import org.apache.cassandra.locator.AbstractReplicationStrategy;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
@@ -460,16 +459,14 @@ public final class LegacySchemaTables
{
for (FilteredPartition newPartition : after.values())
{
+ String name = AsciiType.instance.compose(newPartition.partitionKey().getKey());
+ KeyspaceParams params = createKeyspaceParamsFromSchemaPartition(newPartition.rowIterator());
+
FilteredPartition oldPartition = before.remove(newPartition.partitionKey());
if (oldPartition == null || oldPartition.isEmpty())
- {
- Schema.instance.addKeyspace(createKeyspaceFromSchemaPartition(newPartition.rowIterator()));
- }
+ Schema.instance.addKeyspace(KSMetaData.create(name, params));
else
- {
- String name = AsciiType.instance.compose(newPartition.partitionKey().getKey());
- Schema.instance.updateKeyspace(name);
- }
+ Schema.instance.updateKeyspace(name, params);
}
// What's remain in old is those keyspace that are not in updated, i.e. the dropped ones.
@@ -478,7 +475,7 @@ public final class LegacySchemaTables
private static Set<String> asKeyspaceNamesSet(Set<DecoratedKey> keys)
{
- Set<String> names = new HashSet(keys.size());
+ Set<String> names = new HashSet<>(keys.size());
for (DecoratedKey key : keys)
names.add(AsciiType.instance.compose(key.getKey()));
return names;
@@ -653,9 +650,9 @@ public final class LegacySchemaTables
// Note that because Keyspaces is a COMPACT TABLE, we're really only setting static columns internally and shouldn't set any clustering.
RowUpdateBuilder adder = new RowUpdateBuilder(Keyspaces, timestamp, keyspace.name);
- adder.add("durable_writes", keyspace.durableWrites);
- adder.add("strategy_class", keyspace.strategyClass.getName());
- adder.add("strategy_options", json(keyspace.strategyOptions));
+ adder.add("durable_writes", keyspace.params.durableWrites);
+ adder.add("strategy_class", keyspace.params.replication.klass.getName());
+ adder.add("strategy_options", json(keyspace.params.replication.options));
Mutation mutation = adder.build();
@@ -680,45 +677,41 @@ public final class LegacySchemaTables
return mutation;
}
- private static KSMetaData createKeyspaceFromSchemaPartitions(RowIterator serializedKeyspace,
+ private static KSMetaData createKeyspaceFromSchemaPartitions(RowIterator serializedParams,
RowIterator serializedTables,
RowIterator serializedTypes,
RowIterator serializedFunctions,
- RowIterator seriazliedAggregates)
+ RowIterator serializedAggregates)
{
+ String name = AsciiType.instance.compose(serializedParams.partitionKey().getKey());
+
+ KeyspaceParams params = createKeyspaceParamsFromSchemaPartition(serializedParams);
Tables tables = createTablesFromTablesPartition(serializedTables);
Types types = createTypesFromPartition(serializedTypes);
+
Collection<UDFunction> udfs = createFunctionsFromFunctionsPartition(serializedFunctions);
- Collection<UDAggregate> udas = createAggregatesFromAggregatesPartition(seriazliedAggregates);
+ Collection<UDAggregate> udas = createAggregatesFromAggregatesPartition(serializedAggregates);
Functions functions = org.apache.cassandra.schema.Functions.builder().add(udfs).add(udas).build();
- return createKeyspaceFromSchemaPartition(serializedKeyspace).cloneWith(tables, types, functions);
- }
- public static KSMetaData createKeyspaceFromName(String keyspace)
- {
- return readSchemaPartitionForKeyspaceAndApply(KEYSPACES, keyspace, partition ->
- {
- if (partition.isEmpty())
- throw new RuntimeException(String.format("%s not found in the schema definitions keyspaceName (%s).", keyspace, KEYSPACES));
-
- return createKeyspaceFromSchemaPartition(partition);
- });
+ return KSMetaData.create(name, params, tables, types, functions);
}
-
/**
* Deserialize only Keyspace attributes without nested tables or types
*
* @param partition Keyspace attributes in serialized form
*/
- private static KSMetaData createKeyspaceFromSchemaPartition(RowIterator partition)
+
+ private static KeyspaceParams createKeyspaceParamsFromSchemaPartition(RowIterator partition)
{
String query = String.format("SELECT * FROM %s.%s", SystemKeyspace.NAME, KEYSPACES);
UntypedResultSet.Row row = QueryProcessor.resultify(query, partition).one();
- return new KSMetaData(row.getString("keyspace_name"),
- AbstractReplicationStrategy.getClass(row.getString("strategy_class")),
- fromJsonMap(row.getString("strategy_options")),
- row.getBoolean("durable_writes"));
+
+ Map<String, String> replicationMap = new HashMap<>();
+ replicationMap.putAll(fromJsonMap(row.getString("strategy_options")));
+ replicationMap.put("class", row.getString("strategy_class"));
+
+ return KeyspaceParams.create(row.getBoolean("durable_writes"), replicationMap);
}
/*
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java
index 1da18e0..401057c 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -645,11 +645,9 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
for (Keyspace keyspace : Keyspace.all())
{
KSMetaData ksm = Schema.instance.getKSMetaData(keyspace.getName());
- if (!ksm.durableWrites)
- {
+ if (!ksm.params.durableWrites)
for (ColumnFamilyStore cfs : keyspace.getColumnFamilyStores())
flushes.add(cfs.forceFlush());
- }
}
try
{
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/src/java/org/apache/cassandra/thrift/ThriftConversion.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/thrift/ThriftConversion.java b/src/java/org/apache/cassandra/thrift/ThriftConversion.java
index 69332cf..9c761d7 100644
--- a/src/java/org/apache/cassandra/thrift/ThriftConversion.java
+++ b/src/java/org/apache/cassandra/thrift/ThriftConversion.java
@@ -38,6 +38,7 @@ import org.apache.cassandra.exceptions.*;
import org.apache.cassandra.io.compress.CompressionParameters;
import org.apache.cassandra.locator.AbstractReplicationStrategy;
import org.apache.cassandra.locator.LocalStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.schema.Tables;
import org.apache.cassandra.serializers.MarshalException;
import org.apache.cassandra.schema.LegacySchemaTables;
@@ -158,11 +159,12 @@ public class ThriftConversion
if (cls.equals(LocalStrategy.class))
throw new ConfigurationException("Unable to use given strategy class: LocalStrategy is reserved for internal use.");
- return new KSMetaData(ksd.name,
- cls,
- ksd.strategy_options == null ? Collections.<String, String>emptyMap() : ksd.strategy_options,
- ksd.durable_writes,
- Tables.of(cfDefs));
+ Map<String, String> replicationMap = new HashMap<>();
+ if (ksd.strategy_options != null)
+ replicationMap.putAll(ksd.strategy_options);
+ replicationMap.put(KeyspaceParams.Replication.CLASS, cls.getName());
+
+ return KSMetaData.create(ksd.name, KeyspaceParams.create(ksd.durable_writes, replicationMap), Tables.of(cfDefs));
}
public static KsDef toThrift(KSMetaData ksm)
@@ -172,9 +174,9 @@ public class ThriftConversion
if (cfm.isThriftCompatible()) // Don't expose CF that cannot be correctly handle by thrift; see CASSANDRA-4377 for further details
cfDefs.add(toThrift(cfm));
- KsDef ksdef = new KsDef(ksm.name, ksm.strategyClass.getName(), cfDefs);
- ksdef.setStrategy_options(ksm.strategyOptions);
- ksdef.setDurable_writes(ksm.durableWrites);
+ KsDef ksdef = new KsDef(ksm.name, ksm.params.replication.klass.getName(), cfDefs);
+ ksdef.setStrategy_options(ksm.params.replication.options);
+ ksdef.setDurable_writes(ksm.params.durableWrites);
return ksdef;
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/src/java/org/apache/cassandra/tracing/TraceKeyspace.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/tracing/TraceKeyspace.java b/src/java/org/apache/cassandra/tracing/TraceKeyspace.java
index 2dd906d..8eab93c 100644
--- a/src/java/org/apache/cassandra/tracing/TraceKeyspace.java
+++ b/src/java/org/apache/cassandra/tracing/TraceKeyspace.java
@@ -21,19 +21,21 @@ import java.net.InetAddress;
import java.nio.ByteBuffer;
import java.util.*;
-import com.google.common.collect.ImmutableMap;
-
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.Mutation;
import org.apache.cassandra.db.RowUpdateBuilder;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.schema.Tables;
import org.apache.cassandra.utils.FBUtilities;
import org.apache.cassandra.utils.UUIDGen;
public final class TraceKeyspace
{
+ private TraceKeyspace()
+ {
+ }
+
public static final String NAME = "system_traces";
public static final String SESSIONS = "sessions";
@@ -73,8 +75,7 @@ public final class TraceKeyspace
public static KSMetaData definition()
{
- Tables tables = Tables.of(Sessions, Events);
- return new KSMetaData(NAME, SimpleStrategy.class, ImmutableMap.of("replication_factor", "2"), true, tables);
+ return KSMetaData.create(NAME, KeyspaceParams.simple(2), Tables.of(Sessions, Events));
}
static Mutation makeStartSessionMutation(ByteBuffer sessionId,
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/long/org/apache/cassandra/db/compaction/LongCompactionsTest.java
----------------------------------------------------------------------
diff --git a/test/long/org/apache/cassandra/db/compaction/LongCompactionsTest.java b/test/long/org/apache/cassandra/db/compaction/LongCompactionsTest.java
index ca223ca..56a7e86 100644
--- a/test/long/org/apache/cassandra/db/compaction/LongCompactionsTest.java
+++ b/test/long/org/apache/cassandra/db/compaction/LongCompactionsTest.java
@@ -28,7 +28,6 @@ import org.junit.Test;
import org.apache.cassandra.UpdateBuilder;
import org.apache.cassandra.SchemaLoader;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.Util;
import org.apache.cassandra.exceptions.ConfigurationException;
@@ -37,7 +36,7 @@ import org.apache.cassandra.db.partitions.*;
import org.apache.cassandra.io.sstable.format.SSTableReader;
import org.apache.cassandra.db.lifecycle.LifecycleTransaction;
import org.apache.cassandra.io.sstable.SSTableUtils;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
import static org.junit.Assert.assertEquals;
@@ -54,8 +53,7 @@ public class LongCompactionsTest
compactionOptions.put("tombstone_compaction_interval", "1");
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD)
.compactionStrategyOptions(compactionOptions));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/long/org/apache/cassandra/db/compaction/LongLeveledCompactionStrategyTest.java
----------------------------------------------------------------------
diff --git a/test/long/org/apache/cassandra/db/compaction/LongLeveledCompactionStrategyTest.java b/test/long/org/apache/cassandra/db/compaction/LongLeveledCompactionStrategyTest.java
index fbee72a..97fd3b3 100644
--- a/test/long/org/apache/cassandra/db/compaction/LongLeveledCompactionStrategyTest.java
+++ b/test/long/org/apache/cassandra/db/compaction/LongLeveledCompactionStrategyTest.java
@@ -28,14 +28,11 @@ import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
import org.apache.cassandra.UpdateBuilder;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.*;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.FBUtilities;
-import static org.junit.Assert.assertTrue;
-
public class LongLeveledCompactionStrategyTest
{
public static final String KEYSPACE1 = "LongLeveledCompactionStrategyTest";
@@ -48,8 +45,7 @@ public class LongLeveledCompactionStrategyTest
leveledOptions.put("sstable_size_in_mb", "1");
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
+ KeyspaceParams.simple(1),
SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARDLVL)
.compactionStrategyClass(LeveledCompactionStrategy.class)
.compactionStrategyOptions(leveledOptions));
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/MockSchema.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/MockSchema.java b/test/unit/org/apache/cassandra/MockSchema.java
index f0a849b..6aa40d2 100644
--- a/test/unit/org/apache/cassandra/MockSchema.java
+++ b/test/unit/org/apache/cassandra/MockSchema.java
@@ -24,7 +24,6 @@ import java.io.RandomAccessFile;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
-import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import org.apache.cassandra.cache.CachingOptions;
@@ -46,7 +45,7 @@ import org.apache.cassandra.io.util.ChannelProxy;
import org.apache.cassandra.io.util.FileUtils;
import org.apache.cassandra.io.util.Memory;
import org.apache.cassandra.io.util.SegmentedFile;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.AlwaysPresentFilter;
import org.apache.cassandra.utils.ByteBufferUtil;
@@ -59,7 +58,7 @@ public class MockSchema
indexSummary = new IndexSummary(Murmur3Partitioner.instance, offsets, 0, Memory.allocate(4), 0, 0, 0, 1);
}
private static final AtomicInteger id = new AtomicInteger();
- public static final Keyspace ks = Keyspace.mockKS(new KSMetaData("mockks", SimpleStrategy.class, ImmutableMap.of("replication_factor", "1"), false));
+ public static final Keyspace ks = Keyspace.mockKS(KSMetaData.create("mockks", KeyspaceParams.simpleTransient(1)));
private static final IndexSummary indexSummary;
private static final SegmentedFile segmentedFile = new BufferedSegmentedFile(new ChannelProxy(temp("mocksegmentedfile")), 0);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/SchemaLoader.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/SchemaLoader.java b/test/unit/org/apache/cassandra/SchemaLoader.java
index 43ba0ba..b3b4a64 100644
--- a/test/unit/org/apache/cassandra/SchemaLoader.java
+++ b/test/unit/org/apache/cassandra/SchemaLoader.java
@@ -1,4 +1,4 @@
-/**
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -41,8 +41,8 @@ import org.apache.cassandra.gms.Gossiper;
import org.apache.cassandra.io.compress.CompressionParameters;
import org.apache.cassandra.io.compress.SnappyCompressor;
import org.apache.cassandra.io.util.FileUtils;
-import org.apache.cassandra.locator.AbstractReplicationStrategy;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
+import org.apache.cassandra.schema.Tables;
import org.apache.cassandra.service.MigrationManager;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
@@ -99,13 +99,6 @@ public class SchemaLoader
String ks_prsi = testName + "PerRowSecondaryIndex";
String ks_cql = testName + "cql_keyspace";
- Class<? extends AbstractReplicationStrategy> simple = SimpleStrategy.class;
-
- Map<String, String> opts_rf1 = KSMetaData.optsWithRF(1);
- Map<String, String> opts_rf2 = KSMetaData.optsWithRF(2);
- Map<String, String> opts_rf3 = KSMetaData.optsWithRF(3);
- Map<String, String> opts_rf5 = KSMetaData.optsWithRF(5);
-
AbstractType bytes = BytesType.instance;
AbstractType<?> composite = CompositeType.getInstance(Arrays.asList(new AbstractType<?>[]{BytesType.instance, TimeUUIDType.instance, IntegerType.instance}));
@@ -124,10 +117,9 @@ public class SchemaLoader
leveledOptions.put("sstable_size_in_mb", "1");
// Keyspace 1
- schema.add(KSMetaData.testMetadata(ks1,
- simple,
- opts_rf1,
-
+ schema.add(KSMetaData.create(ks1,
+ KeyspaceParams.simple(1),
+ Tables.of(
// Column Families
standardCFMD(ks1, "Standard1").compactionStrategyOptions(compactionOptions),
standardCFMD(ks1, "Standard2"),
@@ -171,13 +163,12 @@ public class SchemaLoader
//CFMetaData.Builder.create(ks1, "MixedTypes").withColumnNameComparator(LongType.instance).addPartitionKey("key", UUIDType.instance).build(),
//CFMetaData.Builder.create(ks1, "MixedTypesComposite", false, true, false).withColumnNameComparator(composite).addPartitionKey("key", composite).build(),
//CFMetaData.Builder.create(ks1, "AsciiKeys").addPartitionKey("key", AsciiType.instance).build()
- ));
+ )));
// Keyspace 2
- schema.add(KSMetaData.testMetadata(ks2,
- simple,
- opts_rf1,
-
+ schema.add(KSMetaData.create(ks2,
+ KeyspaceParams.simple(1),
+ Tables.of(
// Column Families
standardCFMD(ks2, "Standard1"),
standardCFMD(ks2, "Standard3"),
@@ -185,58 +176,51 @@ public class SchemaLoader
superCFMD(ks2, "Super4", TimeUUIDType.instance),
keysIndexCFMD(ks2, "Indexed1", true),
compositeIndexCFMD(ks2, "Indexed2", true),
- compositeIndexCFMD(ks2, "Indexed3", true).gcGraceSeconds(0)));
+ compositeIndexCFMD(ks2, "Indexed3", true).gcGraceSeconds(0))));
// Keyspace 3
- schema.add(KSMetaData.testMetadata(ks3,
- simple,
- opts_rf5,
-
- // Column Families
+ schema.add(KSMetaData.create(ks3,
+ KeyspaceParams.simple(5),
+ Tables.of(
standardCFMD(ks3, "Standard1"),
- keysIndexCFMD(ks3, "Indexed1", true)));
+ keysIndexCFMD(ks3, "Indexed1", true))));
// Keyspace 4
- schema.add(KSMetaData.testMetadata(ks4,
- simple,
- opts_rf3,
-
- // Column Families
+ schema.add(KSMetaData.create(ks4,
+ KeyspaceParams.simple(3),
+ Tables.of(
standardCFMD(ks4, "Standard1"),
standardCFMD(ks4, "Standard3"),
superCFMD(ks4, "Super3", bytes),
superCFMD(ks4, "Super4", TimeUUIDType.instance),
- superCFMD(ks4, "Super5", TimeUUIDType.instance, BytesType.instance)));
+ superCFMD(ks4, "Super5", TimeUUIDType.instance, BytesType.instance))));
// Keyspace 5
- schema.add(KSMetaData.testMetadata(ks5,
- simple,
- opts_rf2,
- standardCFMD(ks5, "Standard1")));
-
+ schema.add(KSMetaData.create(ks5,
+ KeyspaceParams.simple(2),
+ Tables.of(standardCFMD(ks5, "Standard1"))));
// Keyspace 6
- schema.add(KSMetaData.testMetadata(ks6,
- simple,
- opts_rf1,
- keysIndexCFMD(ks6, "Indexed1", true)));
+ schema.add(KSMetaData.create(ks6,
+ KeyspaceParams.simple(1),
+ Tables.of(keysIndexCFMD(ks6, "Indexed1", true))));
// KeyCacheSpace
- schema.add(KSMetaData.testMetadata(ks_kcs,
- simple,
- opts_rf1,
+ schema.add(KSMetaData.create(ks_kcs,
+ KeyspaceParams.simple(1),
+ Tables.of(
standardCFMD(ks_kcs, "Standard1"),
standardCFMD(ks_kcs, "Standard2"),
- standardCFMD(ks_kcs, "Standard3")));
+ standardCFMD(ks_kcs, "Standard3"))));
// RowCacheSpace
- schema.add(KSMetaData.testMetadata(ks_rcs,
- simple,
- opts_rf1,
+ schema.add(KSMetaData.create(ks_rcs,
+ KeyspaceParams.simple(1),
+ Tables.of(
standardCFMD(ks_rcs, "CFWithoutCache").caching(CachingOptions.NONE),
standardCFMD(ks_rcs, "CachedCF").caching(CachingOptions.ALL),
standardCFMD(ks_rcs, "CachedIntCF").
caching(new CachingOptions(new CachingOptions.KeyCache(CachingOptions.KeyCache.Type.ALL),
- new CachingOptions.RowCache(CachingOptions.RowCache.Type.HEAD, 100)))));
+ new CachingOptions.RowCache(CachingOptions.RowCache.Type.HEAD, 100))))));
// CounterCacheSpace
/*schema.add(KSMetaData.testMetadata(ks_ccs,
@@ -245,21 +229,15 @@ public class SchemaLoader
CFMetaData.Builder.create(ks_ccs, "Counter1", false, false, true).build(),
CFMetaData.Builder.create(ks_ccs, "Counter1", false, false, true).build()));*/
- schema.add(KSMetaData.testMetadataNotDurable(ks_nocommit,
- simple,
- opts_rf1,
- standardCFMD(ks_nocommit, "Standard1")));
+ schema.add(KSMetaData.create(ks_nocommit, KeyspaceParams.simpleTransient(1), Tables.of(
+ standardCFMD(ks_nocommit, "Standard1"))));
// PerRowSecondaryIndexTest
- schema.add(KSMetaData.testMetadata(ks_prsi,
- simple,
- opts_rf1,
- perRowIndexedCFMD(ks_prsi, "Indexed1")));
+ schema.add(KSMetaData.create(ks_prsi, KeyspaceParams.simple(1), Tables.of(
+ perRowIndexedCFMD(ks_prsi, "Indexed1"))));
// CQLKeyspace
- schema.add(KSMetaData.testMetadata(ks_cql,
- simple,
- opts_rf1,
+ schema.add(KSMetaData.create(ks_cql, KeyspaceParams.simple(1), Tables.of(
// Column Families
CFMetaData.compile("CREATE TABLE table1 ("
@@ -287,7 +265,7 @@ public class SchemaLoader
+ "foo text, "
+ "PRIMARY KEY((bar, baz), qux, quz) ) "
+ "WITH COMPACT STORAGE", ks_cql)
- ));
+ )));
if (Boolean.parseBoolean(System.getProperty("cassandra.test.compression", "false")))
@@ -299,24 +277,9 @@ public class SchemaLoader
MigrationManager.announceNewKeyspace(ksm, false);
}
- public static void createKeyspace(String keyspaceName,
- Class<? extends AbstractReplicationStrategy> strategy,
- Map<String, String> options,
- CFMetaData... cfmetas) throws ConfigurationException
- {
- createKeyspace(keyspaceName, true, true, strategy, options, cfmetas);
- }
-
- public static void createKeyspace(String keyspaceName,
- boolean durable,
- boolean announceLocally,
- Class<? extends AbstractReplicationStrategy> strategy,
- Map<String, String> options,
- CFMetaData... cfmetas) throws ConfigurationException
+ public static void createKeyspace(String name, KeyspaceParams params, CFMetaData... tables)
{
- KSMetaData ksm = durable ? KSMetaData.testMetadata(keyspaceName, strategy, options, cfmetas)
- : KSMetaData.testMetadataNotDurable(keyspaceName, strategy, options, cfmetas);
- MigrationManager.announceNewKeyspace(ksm, announceLocally);
+ MigrationManager.announceNewKeyspace(KSMetaData.create(name, params, Tables.of(tables)), true);
}
public static ColumnDefinition integerColumn(String ksName, String cfName)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/31e3f612/test/unit/org/apache/cassandra/cache/AutoSavingCacheTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cache/AutoSavingCacheTest.java b/test/unit/org/apache/cassandra/cache/AutoSavingCacheTest.java
index e7a1706..fb5d84f 100644
--- a/test/unit/org/apache/cassandra/cache/AutoSavingCacheTest.java
+++ b/test/unit/org/apache/cassandra/cache/AutoSavingCacheTest.java
@@ -19,7 +19,6 @@ package org.apache.cassandra.cache;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.ColumnDefinition;
-import org.apache.cassandra.cql3.ColumnIdentifier;
import org.apache.cassandra.db.*;
import org.apache.cassandra.db.marshal.AsciiType;
import org.apache.cassandra.io.sstable.format.SSTableReader;
@@ -29,9 +28,8 @@ import org.junit.Test;
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.locator.SimpleStrategy;
+import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.CacheService;
import org.apache.cassandra.utils.ByteBufferUtil;
@@ -45,12 +43,11 @@ public class AutoSavingCacheTest
{
SchemaLoader.prepareServer();
SchemaLoader.createKeyspace(KEYSPACE1,
- SimpleStrategy.class,
- KSMetaData.optsWithRF(1),
- CFMetaData.Builder.create(KEYSPACE1, CF_STANDARD1)
- .addPartitionKey("pKey", AsciiType.instance)
- .addRegularColumn("col1", AsciiType.instance)
- .build());
+ KeyspaceParams.simple(1),
+ CFMetaData.Builder.create(KEYSPACE1, CF_STANDARD1)
+ .addPartitionKey("pKey", AsciiType.instance)
+ .addRegularColumn("col1", AsciiType.instance)
+ .build());
}
@Test