Repository: cassandra Updated Branches: refs/heads/cassandra-3.1 e8737fda3 -> 383eb46b3
Test an NTS keyspace migration in LegacySchemaMigratorTest Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c7e74f34 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c7e74f34 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c7e74f34 Branch: refs/heads/cassandra-3.1 Commit: c7e74f349455bbdb6efd88e1b68a75ac1da83284 Parents: 0b3cfae Author: Aleksey Yeschenko <alek...@apache.org> Authored: Mon Nov 23 20:23:46 2015 +0000 Committer: Aleksey Yeschenko <alek...@apache.org> Committed: Mon Nov 23 20:23:46 2015 +0000 ---------------------------------------------------------------------- .../org/apache/cassandra/schema/KeyspaceParams.java | 5 +++++ .../apache/cassandra/schema/ReplicationParams.java | 15 +++++++++++++++ .../cassandra/schema/LegacySchemaMigratorTest.java | 3 +++ 3 files changed, 23 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c7e74f34/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 index 6cdf27f..c0e8916 100644 --- a/src/java/org/apache/cassandra/schema/KeyspaceParams.java +++ b/src/java/org/apache/cassandra/schema/KeyspaceParams.java @@ -69,6 +69,11 @@ public final class KeyspaceParams return new KeyspaceParams(false, ReplicationParams.simple(replicationFactor)); } + public static KeyspaceParams nts(Object... args) + { + return new KeyspaceParams(true, ReplicationParams.nts(args)); + } + public void validate(String name) { replication.validate(name); http://git-wip-us.apache.org/repos/asf/cassandra/blob/c7e74f34/src/java/org/apache/cassandra/schema/ReplicationParams.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/schema/ReplicationParams.java b/src/java/org/apache/cassandra/schema/ReplicationParams.java index cdeb4c2..21c029e 100644 --- a/src/java/org/apache/cassandra/schema/ReplicationParams.java +++ b/src/java/org/apache/cassandra/schema/ReplicationParams.java @@ -51,6 +51,21 @@ public final class ReplicationParams return new ReplicationParams(SimpleStrategy.class, ImmutableMap.of("replication_factor", Integer.toString(replicationFactor))); } + static ReplicationParams nts(Object... args) + { + assert args.length % 2 == 0; + + Map<String, String> options = new HashMap<>(); + for (int i = 0; i < args.length; i += 2) + { + String dc = (String) args[i]; + Integer rf = (Integer) args[i + 1]; + options.put(dc, rf.toString()); + } + + return new ReplicationParams(NetworkTopologyStrategy.class, options); + } + public void validate(String name) { // Attempt to instantiate the ARS, which will throw a ConfigurationException if the options aren't valid. http://git-wip-us.apache.org/repos/asf/cassandra/blob/c7e74f34/test/unit/org/apache/cassandra/schema/LegacySchemaMigratorTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/schema/LegacySchemaMigratorTest.java b/test/unit/org/apache/cassandra/schema/LegacySchemaMigratorTest.java index 7d0be4d..1ef3005 100644 --- a/test/unit/org/apache/cassandra/schema/LegacySchemaMigratorTest.java +++ b/test/unit/org/apache/cassandra/schema/LegacySchemaMigratorTest.java @@ -245,6 +245,9 @@ public class LegacySchemaMigratorTest + "PRIMARY KEY((bar, baz), qux, quz) ) " + "WITH COMPACT STORAGE", ks_cql)))); + // NTS keyspace + keyspaces.add(KeyspaceMetadata.create("nts", KeyspaceParams.nts("dc1", 1, "dc2", 2))); + keyspaces.add(keyspaceWithDroppedCollections()); keyspaces.add(keyspaceWithTriggers()); keyspaces.add(keyspaceWithUDTs());