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 17:55:46 UTC
[2/2] cassandra git commit: Rename and move config.KSMetaData to
schema.KeyspaceMetadata
Rename and move config.KSMetaData to schema.KeyspaceMetadata
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/a89597da
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a89597da
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a89597da
Branch: refs/heads/trunk
Commit: a89597da137ad55a5a1b5268ff414c3c1effce10
Parents: 31e3f61
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Wed Jul 1 17:18:12 2015 +0300
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Wed Jul 1 18:55:10 2015 +0300
----------------------------------------------------------------------
.../org/apache/cassandra/auth/AuthKeyspace.java | 6 +-
.../org/apache/cassandra/config/KSMetaData.java | 125 ------------------
.../org/apache/cassandra/config/Schema.java | 54 ++++----
.../org/apache/cassandra/cql3/CQL3Type.java | 9 +-
.../cassandra/cql3/functions/UDFunction.java | 4 +-
.../cql3/statements/AlterKeyspaceStatement.java | 8 +-
.../cql3/statements/AlterTypeStatement.java | 4 +-
.../statements/CreateKeyspaceStatement.java | 4 +-
.../cql3/statements/CreateTypeStatement.java | 5 +-
.../cql3/statements/DropFunctionStatement.java | 4 +-
.../cql3/statements/DropIndexStatement.java | 4 +-
.../cql3/statements/DropTypeStatement.java | 5 +-
src/java/org/apache/cassandra/db/Keyspace.java | 13 +-
.../org/apache/cassandra/db/SystemKeyspace.java | 6 +-
.../cassandra/io/sstable/CQLSSTableWriter.java | 9 +-
.../repair/SystemDistributedKeyspace.java | 6 +-
.../cassandra/schema/KeyspaceMetadata.java | 126 +++++++++++++++++++
.../cassandra/schema/LegacySchemaTables.java | 44 +++----
.../cassandra/service/MigrationManager.java | 40 +++---
.../cassandra/service/StorageService.java | 15 +--
.../cassandra/thrift/CassandraServer.java | 3 +-
.../cassandra/thrift/ThriftConversion.java | 7 +-
.../apache/cassandra/tracing/TraceKeyspace.java | 6 +-
test/unit/org/apache/cassandra/MockSchema.java | 4 +-
.../unit/org/apache/cassandra/SchemaLoader.java | 35 +++---
.../apache/cassandra/config/CFMetaDataTest.java | 3 +-
.../config/DatabaseDescriptorTest.java | 13 +-
.../config/LegacySchemaTablesTest.java | 3 +-
.../cql3/validation/entities/UFTest.java | 6 +-
.../validation/operations/AggregationTest.java | 6 +-
.../apache/cassandra/db/SystemKeyspaceTest.java | 2 +-
.../db/compaction/AntiCompactionTest.java | 6 -
.../compaction/BlacklistingCompactionsTest.java | 5 -
.../db/compaction/CompactionsPurgeTest.java | 2 -
.../db/compaction/CompactionsTest.java | 2 -
.../io/sstable/SSTableRewriterTest.java | 6 -
.../io/sstable/SSTableScannerTest.java | 2 -
.../cassandra/locator/SimpleStrategyTest.java | 4 +-
.../org/apache/cassandra/schema/DefsTest.java | 23 ++--
.../service/LeaveAndBootstrapTest.java | 4 +-
.../org/apache/cassandra/service/MoveTest.java | 4 +-
.../service/StorageServiceServerTest.java | 34 ++---
.../cassandra/triggers/TriggersSchemaTest.java | 10 +-
43 files changed, 334 insertions(+), 347 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/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 17a9f72..7ba083c 100644
--- a/src/java/org/apache/cassandra/auth/AuthKeyspace.java
+++ b/src/java/org/apache/cassandra/auth/AuthKeyspace.java
@@ -20,7 +20,7 @@ package org.apache.cassandra.auth;
import java.util.concurrent.TimeUnit;
import org.apache.cassandra.config.CFMetaData;
-import org.apache.cassandra.config.KSMetaData;
+import org.apache.cassandra.schema.KeyspaceMetadata;
import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.schema.Tables;
@@ -83,8 +83,8 @@ public final class AuthKeyspace
.gcGraceSeconds((int) TimeUnit.DAYS.toSeconds(90));
}
- public static KSMetaData definition()
+ public static KeyspaceMetadata metadata()
{
- return KSMetaData.create(NAME, KeyspaceParams.simple(1), Tables.of(Roles, RoleMembers, RolePermissions, ResourceRoleIndex));
+ return KeyspaceMetadata.create(NAME, KeyspaceParams.simple(1), Tables.of(Roles, RoleMembers, RolePermissions, ResourceRoleIndex));
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/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
deleted file mode 100644
index 8683cfa..0000000
--- a/src/java/org/apache/cassandra/config/KSMetaData.java
+++ /dev/null
@@ -1,125 +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 com.google.common.base.Objects;
-
-import org.apache.cassandra.exceptions.ConfigurationException;
-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 KeyspaceParams params;
- public final Tables tables;
- public final Types types;
- public final Functions functions;
-
- private KSMetaData(String name, KeyspaceParams params, Tables tables, Types types, Functions functions)
- {
- this.name = name;
- this.params = params;
- this.tables = tables;
- this.types = types;
- this.functions = functions;
- }
-
- public static KSMetaData create(String name, KeyspaceParams params)
- {
- return new KSMetaData(name, params, Tables.none(), Types.none(), Functions.none());
- }
-
- public static KSMetaData create(String name, KeyspaceParams params, Tables tables)
- {
- return new KSMetaData(name, params, tables, Types.none(), Functions.none());
- }
-
- public static KSMetaData create(String name, KeyspaceParams params, Tables tables, Types types, Functions functions)
- {
- return new KSMetaData(name, params, tables, types, functions);
- }
-
- public KSMetaData withSwapped(KeyspaceParams params)
- {
- return new KSMetaData(name, params, tables, types, functions);
- }
-
- public KSMetaData withSwapped(Tables tables)
- {
- return new KSMetaData(name, params, tables, types, functions);
- }
-
- public KSMetaData withSwapped(Types types)
- {
- return new KSMetaData(name, params, tables, types, functions);
- }
-
- public KSMetaData withSwapped(Functions functions)
- {
- return new KSMetaData(name, params, tables, types, functions);
- }
-
- @Override
- public int hashCode()
- {
- return Objects.hashCode(name, params, tables, functions, types);
- }
-
- @Override
- public boolean equals(Object o)
- {
- if (this == o)
- return true;
-
- if (!(o instanceof KSMetaData))
- return false;
-
- KSMetaData other = (KSMetaData) o;
-
- return name.equals(other.name)
- && params.equals(other.params)
- && tables.equals(other.tables)
- && functions.equals(other.functions)
- && types.equals(other.types);
- }
-
- @Override
- public String toString()
- {
- return Objects.toStringHelper(this)
- .add("name", name)
- .add("params", params)
- .add("tables", tables)
- .add("functions", functions)
- .add("types", types)
- .toString();
- }
-
- 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));
- tables.forEach(CFMetaData::validate);
- }
-}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/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 aba9240..2178f0e 100644
--- a/src/java/org/apache/cassandra/config/Schema.java
+++ b/src/java/org/apache/cassandra/config/Schema.java
@@ -37,9 +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.schema.*;
import org.apache.cassandra.service.MigrationManager;
import org.apache.cassandra.utils.ConcurrentBiMap;
import org.apache.cassandra.utils.Pair;
@@ -60,7 +58,7 @@ public class Schema
public static final int NAME_LENGTH = 48;
/* metadata map for faster keyspace lookup */
- private final Map<String, KSMetaData> keyspaces = new NonBlockingHashMap<>();
+ private final Map<String, KeyspaceMetadata> keyspaces = new NonBlockingHashMap<>();
/* Keyspace objects, one per keyspace. Only one instance should ever exist for any given keyspace. */
private final Map<String, Keyspace> keyspaceInstances = new NonBlockingHashMap<>();
@@ -90,7 +88,7 @@ public class Schema
*/
public Schema()
{
- load(SystemKeyspace.definition());
+ load(SystemKeyspace.metadata());
}
/**
@@ -122,7 +120,7 @@ public class Schema
*
* @return self to support chaining calls
*/
- public Schema load(Collection<KSMetaData> keyspaceDefs)
+ public Schema load(Collection<KeyspaceMetadata> keyspaceDefs)
{
keyspaceDefs.forEach(this::load);
return this;
@@ -135,10 +133,10 @@ public class Schema
*
* @return self to support chaining calls
*/
- public Schema load(KSMetaData keyspaceDef)
+ public Schema load(KeyspaceMetadata keyspaceDef)
{
keyspaceDef.tables.forEach(this::load);
- setKeyspaceDefinition(keyspaceDef);
+ setKeyspaceMetadata(keyspaceDef);
return this;
}
@@ -197,7 +195,7 @@ public class Schema
*
* @param ksm The keyspace definition to remove
*/
- public void clearKeyspaceDefinition(KSMetaData ksm)
+ public void clearKeyspaceMetadata(KeyspaceMetadata ksm)
{
keyspaces.remove(ksm.name);
}
@@ -215,7 +213,7 @@ public class Schema
public CFMetaData getCFMetaData(String keyspaceName, String cfName)
{
assert keyspaceName != null;
- KSMetaData ksm = keyspaces.get(keyspaceName);
+ KeyspaceMetadata ksm = keyspaces.get(keyspaceName);
return (ksm == null) ? null : ksm.tables.getNullable(cfName);
}
@@ -244,7 +242,7 @@ public class Schema
*
* @return The keyspace metadata or null if it wasn't found
*/
- public KSMetaData getKSMetaData(String keyspaceName)
+ public KeyspaceMetadata getKSMetaData(String keyspaceName)
{
assert keyspaceName != null;
return keyspaces.get(keyspaceName);
@@ -268,7 +266,7 @@ public class Schema
public Tables getTables(String keyspaceName)
{
assert keyspaceName != null;
- KSMetaData ksm = keyspaces.get(keyspaceName);
+ KeyspaceMetadata ksm = keyspaces.get(keyspaceName);
assert ksm != null;
return ksm.tables;
}
@@ -286,7 +284,7 @@ public class Schema
*
* @param ksm The metadata about keyspace
*/
- public void setKeyspaceDefinition(KSMetaData ksm)
+ public void setKeyspaceMetadata(KeyspaceMetadata ksm)
{
assert ksm != null;
@@ -371,7 +369,7 @@ public class Schema
if (!name.hasKeyspace())
throw new IllegalArgumentException(String.format("Function name must be fully quallified: got %s", name));
- KSMetaData ksm = getKSMetaData(name.keyspace);
+ KeyspaceMetadata ksm = getKSMetaData(name.keyspace);
return ksm == null
? Collections.emptyList()
: ksm.functions.get(name);
@@ -390,7 +388,7 @@ public class Schema
if (!name.hasKeyspace())
throw new IllegalArgumentException(String.format("Function name must be fully quallified: got %s", name));
- KSMetaData ksm = getKSMetaData(name.keyspace);
+ KeyspaceMetadata ksm = getKSMetaData(name.keyspace);
return ksm == null
? Optional.empty()
: ksm.functions.find(name, argTypes);
@@ -432,15 +430,15 @@ public class Schema
{
for (String keyspaceName : getNonSystemKeyspaces())
{
- KSMetaData ksm = getKSMetaData(keyspaceName);
+ KeyspaceMetadata ksm = getKSMetaData(keyspaceName);
ksm.tables.forEach(this::purge);
- clearKeyspaceDefinition(ksm);
+ clearKeyspaceMetadata(ksm);
}
updateVersionAndAnnounce();
}
- public void addKeyspace(KSMetaData ksm)
+ public void addKeyspace(KeyspaceMetadata ksm)
{
assert getKSMetaData(ksm.name) == null;
load(ksm);
@@ -451,14 +449,14 @@ public class Schema
public void updateKeyspace(String ksName, KeyspaceParams newParams)
{
- KSMetaData ksm = update(ksName, ks -> ks.withSwapped(newParams));
+ KeyspaceMetadata ksm = update(ksName, ks -> ks.withSwapped(newParams));
Keyspace.open(ksName).createReplicationStrategy(ksm);
MigrationManager.instance.notifyUpdateKeyspace(ksm);
}
public void dropKeyspace(String ksName)
{
- KSMetaData ksm = Schema.instance.getKSMetaData(ksName);
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(ksName);
String snapshotName = Keyspace.getTimestampedSnapshotName(ksName);
CompactionManager.instance.interruptCompactionFor(ksm.tables, true);
@@ -482,7 +480,7 @@ public class Schema
// remove the keyspace from the static instances.
Keyspace.clear(ksm.name);
- clearKeyspaceDefinition(ksm);
+ clearKeyspaceMetadata(ksm);
keyspace.writeOrder.awaitNewBarrier();
@@ -524,17 +522,17 @@ public class Schema
public void dropTable(String ksName, String tableName)
{
- KSMetaData oldKsm = getKSMetaData(ksName);
+ KeyspaceMetadata oldKsm = getKSMetaData(ksName);
assert oldKsm != null;
ColumnFamilyStore cfs = Keyspace.open(ksName).getColumnFamilyStore(tableName);
assert cfs != null;
// reinitialize the keyspace.
CFMetaData cfm = oldKsm.tables.get(tableName).get();
- KSMetaData newKsm = oldKsm.withSwapped(oldKsm.tables.without(tableName));
+ KeyspaceMetadata newKsm = oldKsm.withSwapped(oldKsm.tables.without(tableName));
purge(cfm);
- setKeyspaceDefinition(newKsm);
+ setKeyspaceMetadata(newKsm);
CompactionManager.instance.interruptCompactionFor(Collections.singleton(cfm), true);
@@ -600,14 +598,14 @@ public class Schema
MigrationManager.instance.notifyDropAggregate(uda);
}
- private KSMetaData update(String keyspaceName, java.util.function.Function<KSMetaData, KSMetaData> transformation)
+ private KeyspaceMetadata update(String keyspaceName, java.util.function.Function<KeyspaceMetadata, KeyspaceMetadata> transformation)
{
- KSMetaData current = getKSMetaData(keyspaceName);
+ KeyspaceMetadata current = getKSMetaData(keyspaceName);
if (current == null)
throw new IllegalStateException(String.format("Keyspace %s doesn't exist", keyspaceName));
- KSMetaData transformed = transformation.apply(current);
- setKeyspaceDefinition(transformed);
+ KeyspaceMetadata transformed = transformation.apply(current);
+ setKeyspaceMetadata(transformed);
return transformed;
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/src/java/org/apache/cassandra/cql3/CQL3Type.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/CQL3Type.java b/src/java/org/apache/cassandra/cql3/CQL3Type.java
index c24f6fe..749b989 100644
--- a/src/java/org/apache/cassandra/cql3/CQL3Type.java
+++ b/src/java/org/apache/cassandra/cql3/CQL3Type.java
@@ -20,15 +20,16 @@ package org.apache.cassandra.cql3;
import java.util.ArrayList;
import java.util.List;
-import org.apache.cassandra.config.KSMetaData;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.db.SystemKeyspace;
import org.apache.cassandra.db.marshal.*;
import org.apache.cassandra.exceptions.InvalidRequestException;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.exceptions.SyntaxException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.cassandra.schema.KeyspaceMetadata;
public interface CQL3Type
{
@@ -525,7 +526,7 @@ public interface CQL3Type
name.setKeyspace(keyspace);
}
- KSMetaData ksm = Schema.instance.getKSMetaData(name.getKeyspace());
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(name.getKeyspace());
if (ksm == null)
throw new InvalidRequestException("Unknown keyspace " + name.getKeyspace());
UserType type = ksm.types.getNullable(name.getUserTypeName());
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/src/java/org/apache/cassandra/cql3/functions/UDFunction.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/functions/UDFunction.java b/src/java/org/apache/cassandra/cql3/functions/UDFunction.java
index 14a8ff2..a4b1aec 100644
--- a/src/java/org/apache/cassandra/cql3/functions/UDFunction.java
+++ b/src/java/org/apache/cassandra/cql3/functions/UDFunction.java
@@ -28,12 +28,12 @@ import com.datastax.driver.core.DataType;
import com.datastax.driver.core.ProtocolVersion;
import com.datastax.driver.core.UserType;
import org.apache.cassandra.config.DatabaseDescriptor;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.cql3.*;
import org.apache.cassandra.db.marshal.AbstractType;
import org.apache.cassandra.exceptions.*;
import org.apache.cassandra.schema.Functions;
+import org.apache.cassandra.schema.KeyspaceMetadata;
import org.apache.cassandra.service.MigrationManager;
import org.apache.cassandra.utils.ByteBufferUtil;
@@ -292,7 +292,7 @@ public abstract class UDFunction extends AbstractFunction implements ScalarFunct
UserType userType = (UserType) dataType;
if (userType.getKeyspace().equals(ksName) && userType.getTypeName().equals(typeName))
{
- KSMetaData ksm = Schema.instance.getKSMetaData(ksName);
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(ksName);
assert ksm != null;
org.apache.cassandra.db.marshal.UserType ut = ksm.types.get(ByteBufferUtil.bytes(typeName)).get();
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/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 502160d..3e1bca5 100644
--- a/src/java/org/apache/cassandra/cql3/statements/AlterKeyspaceStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/AlterKeyspaceStatement.java
@@ -18,11 +18,11 @@
package org.apache.cassandra.cql3.statements;
import org.apache.cassandra.auth.Permission;
-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.LocalStrategy;
+import org.apache.cassandra.schema.KeyspaceMetadata;
import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.ClientState;
import org.apache.cassandra.service.MigrationManager;
@@ -53,7 +53,7 @@ public class AlterKeyspaceStatement extends SchemaAlteringStatement
public void validate(ClientState state) throws RequestValidationException
{
- KSMetaData ksm = Schema.instance.getKSMetaData(name);
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(name);
if (ksm == null)
throw new InvalidRequestException("Unknown keyspace " + name);
if (ksm.name.equalsIgnoreCase(SystemKeyspace.NAME))
@@ -78,12 +78,12 @@ public class AlterKeyspaceStatement extends SchemaAlteringStatement
public boolean announceMigration(boolean isLocalOnly) throws RequestValidationException
{
- KSMetaData oldKsm = Schema.instance.getKSMetaData(name);
+ KeyspaceMetadata oldKsm = Schema.instance.getKSMetaData(name);
// In the (very) unlikely case the keyspace was dropped since validate()
if (oldKsm == null)
throw new InvalidRequestException("Unknown keyspace " + name);
- KSMetaData newKsm = oldKsm.withSwapped(attrs.asAlteredKeyspaceParams(oldKsm.params));
+ KeyspaceMetadata newKsm = oldKsm.withSwapped(attrs.asAlteredKeyspaceParams(oldKsm.params));
MigrationManager.announceKeyspaceUpdate(newKsm, isLocalOnly);
return true;
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/src/java/org/apache/cassandra/cql3/statements/AlterTypeStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/AlterTypeStatement.java b/src/java/org/apache/cassandra/cql3/statements/AlterTypeStatement.java
index 5579839..4298c22 100644
--- a/src/java/org/apache/cassandra/cql3/statements/AlterTypeStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/AlterTypeStatement.java
@@ -23,9 +23,9 @@ import java.util.*;
import org.apache.cassandra.auth.Permission;
import org.apache.cassandra.config.*;
import org.apache.cassandra.cql3.*;
-import org.apache.cassandra.db.ClusteringComparator;
import org.apache.cassandra.db.marshal.*;
import org.apache.cassandra.exceptions.*;
+import org.apache.cassandra.schema.KeyspaceMetadata;
import org.apache.cassandra.service.ClientState;
import org.apache.cassandra.service.MigrationManager;
import org.apache.cassandra.transport.Event;
@@ -91,7 +91,7 @@ public abstract class AlterTypeStatement extends SchemaAlteringStatement
public boolean announceMigration(boolean isLocalOnly) throws InvalidRequestException, ConfigurationException
{
- KSMetaData ksm = Schema.instance.getKSMetaData(name.getKeyspace());
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(name.getKeyspace());
if (ksm == null)
throw new InvalidRequestException(String.format("Cannot alter type in unknown keyspace %s", name.getKeyspace()));
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/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 ac00222..9577af8 100644
--- a/src/java/org/apache/cassandra/cql3/statements/CreateKeyspaceStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/CreateKeyspaceStatement.java
@@ -19,10 +19,10 @@ 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.LocalStrategy;
+import org.apache.cassandra.schema.KeyspaceMetadata;
import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.*;
import org.apache.cassandra.thrift.ThriftValidation;
@@ -94,7 +94,7 @@ public class CreateKeyspaceStatement extends SchemaAlteringStatement
public boolean announceMigration(boolean isLocalOnly) throws RequestValidationException
{
- KSMetaData ksm = KSMetaData.create(name, attrs.asNewKeyspaceParams());
+ KeyspaceMetadata ksm = KeyspaceMetadata.create(name, attrs.asNewKeyspaceParams());
try
{
MigrationManager.announceNewKeyspace(ksm, isLocalOnly);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/src/java/org/apache/cassandra/cql3/statements/CreateTypeStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/CreateTypeStatement.java b/src/java/org/apache/cassandra/cql3/statements/CreateTypeStatement.java
index 97f3ed6..465f0f1 100644
--- a/src/java/org/apache/cassandra/cql3/statements/CreateTypeStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/CreateTypeStatement.java
@@ -27,6 +27,7 @@ import org.apache.cassandra.db.marshal.AbstractType;
import org.apache.cassandra.db.marshal.UTF8Type;
import org.apache.cassandra.db.marshal.UserType;
import org.apache.cassandra.exceptions.*;
+import org.apache.cassandra.schema.KeyspaceMetadata;
import org.apache.cassandra.service.ClientState;
import org.apache.cassandra.service.MigrationManager;
import org.apache.cassandra.transport.Event;
@@ -65,7 +66,7 @@ public class CreateTypeStatement extends SchemaAlteringStatement
public void validate(ClientState state) throws RequestValidationException
{
- KSMetaData ksm = Schema.instance.getKSMetaData(name.getKeyspace());
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(name.getKeyspace());
if (ksm == null)
throw new InvalidRequestException(String.format("Cannot add type in unknown keyspace %s", name.getKeyspace()));
@@ -118,7 +119,7 @@ public class CreateTypeStatement extends SchemaAlteringStatement
public boolean announceMigration(boolean isLocalOnly) throws InvalidRequestException, ConfigurationException
{
- KSMetaData ksm = Schema.instance.getKSMetaData(name.getKeyspace());
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(name.getKeyspace());
assert ksm != null; // should haven't validate otherwise
// Can happen with ifNotExists
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/src/java/org/apache/cassandra/cql3/statements/DropFunctionStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/DropFunctionStatement.java b/src/java/org/apache/cassandra/cql3/statements/DropFunctionStatement.java
index d6d7925..59864df 100644
--- a/src/java/org/apache/cassandra/cql3/statements/DropFunctionStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/DropFunctionStatement.java
@@ -25,7 +25,6 @@ import com.google.common.base.Joiner;
import org.apache.cassandra.auth.FunctionResource;
import org.apache.cassandra.auth.Permission;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.cql3.CQL3Type;
import org.apache.cassandra.cql3.functions.*;
@@ -33,6 +32,7 @@ import org.apache.cassandra.db.marshal.AbstractType;
import org.apache.cassandra.exceptions.InvalidRequestException;
import org.apache.cassandra.exceptions.RequestValidationException;
import org.apache.cassandra.exceptions.UnauthorizedException;
+import org.apache.cassandra.schema.KeyspaceMetadata;
import org.apache.cassandra.service.ClientState;
import org.apache.cassandra.service.MigrationManager;
import org.apache.cassandra.thrift.ThriftValidation;
@@ -145,7 +145,7 @@ public final class DropFunctionStatement extends SchemaAlteringStatement
throw new InvalidRequestException(getMissingFunctionError());
}
- KSMetaData ksm = Schema.instance.getKSMetaData(old.name().keyspace);
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(old.name().keyspace);
Collection<UDAggregate> referrers = ksm.functions.aggregatesUsingFunction(old);
if (!referrers.isEmpty())
throw new InvalidRequestException(String.format("Function '%s' still referenced by %s", old, referrers));
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/src/java/org/apache/cassandra/cql3/statements/DropIndexStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/DropIndexStatement.java b/src/java/org/apache/cassandra/cql3/statements/DropIndexStatement.java
index 704a07f..4aae9ac 100644
--- a/src/java/org/apache/cassandra/cql3/statements/DropIndexStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/DropIndexStatement.java
@@ -20,11 +20,11 @@ package org.apache.cassandra.cql3.statements;
import org.apache.cassandra.auth.Permission;
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.*;
import org.apache.cassandra.db.KeyspaceNotDefinedException;
import org.apache.cassandra.exceptions.*;
+import org.apache.cassandra.schema.KeyspaceMetadata;
import org.apache.cassandra.service.ClientState;
import org.apache.cassandra.service.MigrationManager;
import org.apache.cassandra.service.QueryState;
@@ -115,7 +115,7 @@ public class DropIndexStatement extends SchemaAlteringStatement
private CFMetaData findIndexedCF() throws InvalidRequestException
{
- KSMetaData ksm = Schema.instance.getKSMetaData(keyspace());
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(keyspace());
if (ksm == null)
throw new KeyspaceNotDefinedException("Keyspace " + keyspace() + " does not exist");
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/src/java/org/apache/cassandra/cql3/statements/DropTypeStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/DropTypeStatement.java b/src/java/org/apache/cassandra/cql3/statements/DropTypeStatement.java
index 81055d5..75f6200 100644
--- a/src/java/org/apache/cassandra/cql3/statements/DropTypeStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/DropTypeStatement.java
@@ -23,6 +23,7 @@ import org.apache.cassandra.cql3.*;
import org.apache.cassandra.cql3.functions.Function;
import org.apache.cassandra.db.marshal.*;
import org.apache.cassandra.exceptions.*;
+import org.apache.cassandra.schema.KeyspaceMetadata;
import org.apache.cassandra.service.ClientState;
import org.apache.cassandra.service.MigrationManager;
import org.apache.cassandra.transport.Event;
@@ -53,7 +54,7 @@ public class DropTypeStatement extends SchemaAlteringStatement
public void validate(ClientState state) throws RequestValidationException
{
- KSMetaData ksm = Schema.instance.getKSMetaData(name.getKeyspace());
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(name.getKeyspace());
if (ksm == null)
throw new InvalidRequestException(String.format("Cannot drop type in unknown keyspace %s", name.getKeyspace()));
@@ -136,7 +137,7 @@ public class DropTypeStatement extends SchemaAlteringStatement
public boolean announceMigration(boolean isLocalOnly) throws InvalidRequestException, ConfigurationException
{
- KSMetaData ksm = Schema.instance.getKSMetaData(name.getKeyspace());
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(name.getKeyspace());
assert ksm != null;
UserType toDrop = ksm.types.getNullable(name.getUserTypeName());
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/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 3c5a8c8..af79ed8 100644
--- a/src/java/org/apache/cassandra/db/Keyspace.java
+++ b/src/java/org/apache/cassandra/db/Keyspace.java
@@ -39,6 +39,7 @@ import org.apache.cassandra.db.index.SecondaryIndexManager;
import org.apache.cassandra.db.partitions.PartitionUpdate;
import org.apache.cassandra.io.sstable.format.SSTableReader;
import org.apache.cassandra.locator.AbstractReplicationStrategy;
+import org.apache.cassandra.schema.KeyspaceMetadata;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.tracing.Tracing;
import org.apache.cassandra.utils.concurrent.OpOrder;
@@ -65,7 +66,7 @@ public class Keyspace
DatabaseDescriptor.createAllDirectories();
}
- private volatile KSMetaData metadata;
+ private volatile KeyspaceMetadata metadata;
public final OpOrder writeOrder = new OpOrder();
/* ColumnFamilyStore per column family */
@@ -166,12 +167,12 @@ public class Keyspace
}
}
- public void setMetadata(KSMetaData metadata)
+ public void setMetadata(KeyspaceMetadata metadata)
{
this.metadata = metadata;
}
- public KSMetaData getMetadata()
+ public KeyspaceMetadata getMetadata()
{
return metadata;
}
@@ -290,19 +291,19 @@ public class Keyspace
}
}
- private Keyspace(KSMetaData metadata)
+ private Keyspace(KeyspaceMetadata metadata)
{
this.metadata = metadata;
createReplicationStrategy(metadata);
this.metric = new KeyspaceMetrics(this);
}
- public static Keyspace mockKS(KSMetaData metadata)
+ public static Keyspace mockKS(KeyspaceMetadata metadata)
{
return new Keyspace(metadata);
}
- public void createReplicationStrategy(KSMetaData ksm)
+ public void createReplicationStrategy(KeyspaceMetadata ksm)
{
replicationStrategy = AbstractReplicationStrategy.createReplicationStrategy(ksm.name,
ksm.params.replication.klass,
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/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 85e1263..ffbc1eb 100644
--- a/src/java/org/apache/cassandra/db/SystemKeyspace.java
+++ b/src/java/org/apache/cassandra/db/SystemKeyspace.java
@@ -33,7 +33,6 @@ import org.slf4j.LoggerFactory;
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.cql3.functions.*;
@@ -52,6 +51,7 @@ import org.apache.cassandra.locator.IEndpointSnitch;
import org.apache.cassandra.metrics.RestorableMeter;
import org.apache.cassandra.net.MessagingService;
import org.apache.cassandra.schema.Functions;
+import org.apache.cassandra.schema.KeyspaceMetadata;
import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.schema.LegacySchemaTables;
import org.apache.cassandra.schema.Tables;
@@ -266,9 +266,9 @@ public final class SystemKeyspace
.comment(description);
}
- public static KSMetaData definition()
+ public static KeyspaceMetadata metadata()
{
- return KSMetaData.create(NAME, KeyspaceParams.local(), tables(), Types.none(), functions());
+ return KeyspaceMetadata.create(NAME, KeyspaceParams.local(), tables(), Types.none(), functions());
}
private static Tables tables()
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/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 44651be..124547a 100644
--- a/src/java/org/apache/cassandra/io/sstable/CQLSSTableWriter.java
+++ b/src/java/org/apache/cassandra/io/sstable/CQLSSTableWriter.java
@@ -36,6 +36,7 @@ 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.schema.KeyspaceMetadata;
import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.schema.Tables;
import org.apache.cassandra.service.ClientState;
@@ -348,7 +349,7 @@ public class CQLSSTableWriter implements Closeable
// We need to register the keyspace/table metadata through Schema, otherwise we won't be able to properly
// build the insert statement in using().
- KSMetaData ksm = Schema.instance.getKSMetaData(this.schema.ksName);
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(this.schema.ksName);
if (ksm == null)
{
createKeyspaceWithTable(this.schema);
@@ -373,7 +374,7 @@ public class CQLSSTableWriter implements Closeable
*/
private static void createKeyspaceWithTable(CFMetaData table)
{
- Schema.instance.load(KSMetaData.create(table.ksName, KeyspaceParams.simple(1), Tables.of(table)));
+ Schema.instance.load(KeyspaceMetadata.create(table.ksName, KeyspaceParams.simple(1), Tables.of(table)));
}
/**
@@ -382,10 +383,10 @@ public class CQLSSTableWriter implements Closeable
* @param keyspace the keyspace to add to
* @param table the table to add
*/
- private static void addTableToKeyspace(KSMetaData keyspace, CFMetaData table)
+ private static void addTableToKeyspace(KeyspaceMetadata keyspace, CFMetaData table)
{
Schema.instance.load(table);
- Schema.instance.setKeyspaceDefinition(keyspace.withSwapped(keyspace.tables.with(table)));
+ Schema.instance.setKeyspaceMetadata(keyspace.withSwapped(keyspace.tables.with(table)));
}
/**
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/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 1fec76f..70e74db 100644
--- a/src/java/org/apache/cassandra/repair/SystemDistributedKeyspace.java
+++ b/src/java/org/apache/cassandra/repair/SystemDistributedKeyspace.java
@@ -34,11 +34,11 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.cassandra.config.CFMetaData;
-import org.apache.cassandra.config.KSMetaData;
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.schema.KeyspaceMetadata;
import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.schema.Tables;
import org.apache.cassandra.utils.ByteBufferUtil;
@@ -98,9 +98,9 @@ public final class SystemDistributedKeyspace
.comment(description);
}
- public static KSMetaData definition()
+ public static KeyspaceMetadata metadata()
{
- return KSMetaData.create(NAME, KeyspaceParams.simple(3), Tables.of(RepairHistory, ParentRepairHistory));
+ return KeyspaceMetadata.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/a89597da/src/java/org/apache/cassandra/schema/KeyspaceMetadata.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/schema/KeyspaceMetadata.java b/src/java/org/apache/cassandra/schema/KeyspaceMetadata.java
new file mode 100644
index 0000000..0ce22fb
--- /dev/null
+++ b/src/java/org/apache/cassandra/schema/KeyspaceMetadata.java
@@ -0,0 +1,126 @@
+/*
+ * 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 com.google.common.base.Objects;
+
+import org.apache.cassandra.config.CFMetaData;
+import org.apache.cassandra.config.Schema;
+import org.apache.cassandra.exceptions.ConfigurationException;
+
+/**
+ * An immutable representation of keyspace metadata (name, params, tables, types, and functions).
+ */
+public final class KeyspaceMetadata
+{
+ public final String name;
+ public final KeyspaceParams params;
+ public final Tables tables;
+ public final Types types;
+ public final Functions functions;
+
+ private KeyspaceMetadata(String name, KeyspaceParams params, Tables tables, Types types, Functions functions)
+ {
+ this.name = name;
+ this.params = params;
+ this.tables = tables;
+ this.types = types;
+ this.functions = functions;
+ }
+
+ public static KeyspaceMetadata create(String name, KeyspaceParams params)
+ {
+ return new KeyspaceMetadata(name, params, Tables.none(), Types.none(), Functions.none());
+ }
+
+ public static KeyspaceMetadata create(String name, KeyspaceParams params, Tables tables)
+ {
+ return new KeyspaceMetadata(name, params, tables, Types.none(), Functions.none());
+ }
+
+ public static KeyspaceMetadata create(String name, KeyspaceParams params, Tables tables, Types types, Functions functions)
+ {
+ return new KeyspaceMetadata(name, params, tables, types, functions);
+ }
+
+ public KeyspaceMetadata withSwapped(KeyspaceParams params)
+ {
+ return new KeyspaceMetadata(name, params, tables, types, functions);
+ }
+
+ public KeyspaceMetadata withSwapped(Tables tables)
+ {
+ return new KeyspaceMetadata(name, params, tables, types, functions);
+ }
+
+ public KeyspaceMetadata withSwapped(Types types)
+ {
+ return new KeyspaceMetadata(name, params, tables, types, functions);
+ }
+
+ public KeyspaceMetadata withSwapped(Functions functions)
+ {
+ return new KeyspaceMetadata(name, params, tables, types, functions);
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return Objects.hashCode(name, params, tables, functions, types);
+ }
+
+ @Override
+ public boolean equals(Object o)
+ {
+ if (this == o)
+ return true;
+
+ if (!(o instanceof KeyspaceMetadata))
+ return false;
+
+ KeyspaceMetadata other = (KeyspaceMetadata) o;
+
+ return name.equals(other.name)
+ && params.equals(other.params)
+ && tables.equals(other.tables)
+ && functions.equals(other.functions)
+ && types.equals(other.types);
+ }
+
+ @Override
+ public String toString()
+ {
+ return Objects.toStringHelper(this)
+ .add("name", name)
+ .add("params", params)
+ .add("tables", tables)
+ .add("functions", functions)
+ .add("types", types)
+ .toString();
+ }
+
+ 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));
+ tables.forEach(CFMetaData::validate);
+ }
+}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/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 ffc3537..c8e163c 100644
--- a/src/java/org/apache/cassandra/schema/LegacySchemaTables.java
+++ b/src/java/org/apache/cassandra/schema/LegacySchemaTables.java
@@ -193,7 +193,7 @@ public final class LegacySchemaTables
/** add entries to system.schema_* for the hardcoded system definitions */
public static void saveSystemKeyspaceSchema()
{
- KSMetaData keyspace = Schema.instance.getKSMetaData(SystemKeyspace.NAME);
+ KeyspaceMetadata keyspace = Schema.instance.getKSMetaData(SystemKeyspace.NAME);
long timestamp = FBUtilities.timestampMicros();
// delete old, possibly obsolete entries in schema tables
for (String table : ALL)
@@ -206,12 +206,12 @@ public final class LegacySchemaTables
makeCreateKeyspaceMutation(keyspace, timestamp + 1).apply();
}
- public static Collection<KSMetaData> readSchemaFromSystemTables()
+ public static Collection<KeyspaceMetadata> readSchemaFromSystemTables()
{
ReadCommand cmd = getReadCommandForTableSchema(KEYSPACES);
try (ReadOrderGroup orderGroup = cmd.startOrderGroup(); PartitionIterator schema = cmd.executeInternal(orderGroup))
{
- List<KSMetaData> keyspaces = new ArrayList<>();
+ List<KeyspaceMetadata> keyspaces = new ArrayList<>();
while (schema.hasNext())
{
@@ -464,7 +464,7 @@ public final class LegacySchemaTables
FilteredPartition oldPartition = before.remove(newPartition.partitionKey());
if (oldPartition == null || oldPartition.isEmpty())
- Schema.instance.addKeyspace(KSMetaData.create(name, params));
+ Schema.instance.addKeyspace(KeyspaceMetadata.create(name, params));
else
Schema.instance.updateKeyspace(name, params);
}
@@ -640,12 +640,12 @@ public final class LegacySchemaTables
* Keyspace metadata serialization/deserialization.
*/
- public static Mutation makeCreateKeyspaceMutation(KSMetaData keyspace, long timestamp)
+ public static Mutation makeCreateKeyspaceMutation(KeyspaceMetadata keyspace, long timestamp)
{
return makeCreateKeyspaceMutation(keyspace, timestamp, true);
}
- public static Mutation makeCreateKeyspaceMutation(KSMetaData keyspace, long timestamp, boolean withTablesAndTypesAndFunctions)
+ public static Mutation makeCreateKeyspaceMutation(KeyspaceMetadata keyspace, long timestamp, boolean withTablesAndTypesAndFunctions)
{
// 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);
@@ -667,7 +667,7 @@ public final class LegacySchemaTables
return mutation;
}
- public static Mutation makeDropKeyspaceMutation(KSMetaData keyspace, long timestamp)
+ public static Mutation makeDropKeyspaceMutation(KeyspaceMetadata keyspace, long timestamp)
{
int nowInSec = FBUtilities.nowInSeconds();
Mutation mutation = new Mutation(SystemKeyspace.NAME, getSchemaKSDecoratedKey(keyspace.name));
@@ -677,11 +677,11 @@ public final class LegacySchemaTables
return mutation;
}
- private static KSMetaData createKeyspaceFromSchemaPartitions(RowIterator serializedParams,
- RowIterator serializedTables,
- RowIterator serializedTypes,
- RowIterator serializedFunctions,
- RowIterator serializedAggregates)
+ private static KeyspaceMetadata createKeyspaceFromSchemaPartitions(RowIterator serializedParams,
+ RowIterator serializedTables,
+ RowIterator serializedTypes,
+ RowIterator serializedFunctions,
+ RowIterator serializedAggregates)
{
String name = AsciiType.instance.compose(serializedParams.partitionKey().getKey());
@@ -693,7 +693,7 @@ public final class LegacySchemaTables
Collection<UDAggregate> udas = createAggregatesFromAggregatesPartition(serializedAggregates);
Functions functions = org.apache.cassandra.schema.Functions.builder().add(udfs).add(udas).build();
- return KSMetaData.create(name, params, tables, types, functions);
+ return KeyspaceMetadata.create(name, params, tables, types, functions);
}
/**
@@ -718,7 +718,7 @@ public final class LegacySchemaTables
* User type metadata serialization/deserialization.
*/
- public static Mutation makeCreateTypeMutation(KSMetaData keyspace, UserType type, long timestamp)
+ public static Mutation makeCreateTypeMutation(KeyspaceMetadata keyspace, UserType type, long timestamp)
{
// Include the serialized keyspace in case the target node missed a CREATE KEYSPACE migration (see CASSANDRA-5631).
Mutation mutation = makeCreateKeyspaceMutation(keyspace, timestamp, false);
@@ -743,7 +743,7 @@ public final class LegacySchemaTables
adder.build();
}
- public static Mutation dropTypeFromSchemaMutation(KSMetaData keyspace, UserType type, long timestamp)
+ public static Mutation dropTypeFromSchemaMutation(KeyspaceMetadata keyspace, UserType type, long timestamp)
{
// Include the serialized keyspace in case the target node missed a CREATE KEYSPACE migration (see CASSANDRA-5631).
Mutation mutation = makeCreateKeyspaceMutation(keyspace, timestamp, false);
@@ -780,7 +780,7 @@ public final class LegacySchemaTables
* Table metadata serialization/deserialization.
*/
- public static Mutation makeCreateTableMutation(KSMetaData keyspace, CFMetaData table, long timestamp)
+ public static Mutation makeCreateTableMutation(KeyspaceMetadata keyspace, CFMetaData table, long timestamp)
{
// Include the serialized keyspace in case the target node missed a CREATE KEYSPACE migration (see CASSANDRA-5631).
Mutation mutation = makeCreateKeyspaceMutation(keyspace, timestamp, false);
@@ -854,7 +854,7 @@ public final class LegacySchemaTables
adder.build();
}
- public static Mutation makeUpdateTableMutation(KSMetaData keyspace,
+ public static Mutation makeUpdateTableMutation(KeyspaceMetadata keyspace,
CFMetaData oldTable,
CFMetaData newTable,
long timestamp,
@@ -899,7 +899,7 @@ public final class LegacySchemaTables
return mutation;
}
- public static Mutation makeDropTableMutation(KSMetaData keyspace, CFMetaData table, long timestamp)
+ public static Mutation makeDropTableMutation(KeyspaceMetadata keyspace, CFMetaData table, long timestamp)
{
// Include the serialized keyspace in case the target node missed a CREATE KEYSPACE migration (see CASSANDRA-5631).
Mutation mutation = makeCreateKeyspaceMutation(keyspace, timestamp, false);
@@ -1280,7 +1280,7 @@ public final class LegacySchemaTables
* UDF metadata serialization/deserialization.
*/
- public static Mutation makeCreateFunctionMutation(KSMetaData keyspace, UDFunction function, long timestamp)
+ public static Mutation makeCreateFunctionMutation(KeyspaceMetadata keyspace, UDFunction function, long timestamp)
{
// Include the serialized keyspace in case the target node missed a CREATE KEYSPACE migration (see CASSANDRA-5631).
Mutation mutation = makeCreateKeyspaceMutation(keyspace, timestamp, false);
@@ -1308,7 +1308,7 @@ public final class LegacySchemaTables
adder.build();
}
- public static Mutation makeDropFunctionMutation(KSMetaData keyspace, UDFunction function, long timestamp)
+ public static Mutation makeDropFunctionMutation(KeyspaceMetadata keyspace, UDFunction function, long timestamp)
{
// Include the serialized keyspace in case the target node missed a CREATE KEYSPACE migration (see CASSANDRA-5631).
Mutation mutation = makeCreateKeyspaceMutation(keyspace, timestamp, false);
@@ -1381,7 +1381,7 @@ public final class LegacySchemaTables
* Aggregate UDF metadata serialization/deserialization.
*/
- public static Mutation makeCreateAggregateMutation(KSMetaData keyspace, UDAggregate aggregate, long timestamp)
+ public static Mutation makeCreateAggregateMutation(KeyspaceMetadata keyspace, UDAggregate aggregate, long timestamp)
{
// Include the serialized keyspace in case the target node missed a CREATE KEYSPACE migration (see CASSANDRA-5631).
Mutation mutation = makeCreateKeyspaceMutation(keyspace, timestamp, false);
@@ -1473,7 +1473,7 @@ public final class LegacySchemaTables
return new FunctionName(ks, f);
}
- public static Mutation makeDropAggregateMutation(KSMetaData keyspace, UDAggregate aggregate, long timestamp)
+ public static Mutation makeDropAggregateMutation(KeyspaceMetadata keyspace, UDAggregate aggregate, long timestamp)
{
// Include the serialized keyspace in case the target node missed a CREATE KEYSPACE migration (see CASSANDRA-5631).
Mutation mutation = makeCreateKeyspaceMutation(keyspace, timestamp, false);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/src/java/org/apache/cassandra/service/MigrationManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/MigrationManager.java b/src/java/org/apache/cassandra/service/MigrationManager.java
index 26d3b47..9deb313 100644
--- a/src/java/org/apache/cassandra/service/MigrationManager.java
+++ b/src/java/org/apache/cassandra/service/MigrationManager.java
@@ -36,7 +36,6 @@ import org.apache.cassandra.concurrent.ScheduledExecutors;
import org.apache.cassandra.concurrent.Stage;
import org.apache.cassandra.concurrent.StageManager;
import org.apache.cassandra.config.CFMetaData;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.cql3.functions.UDAggregate;
import org.apache.cassandra.cql3.functions.UDFunction;
@@ -49,6 +48,7 @@ import org.apache.cassandra.io.IVersionedSerializer;
import org.apache.cassandra.io.util.DataOutputPlus;
import org.apache.cassandra.net.MessageOut;
import org.apache.cassandra.net.MessagingService;
+import org.apache.cassandra.schema.KeyspaceMetadata;
import org.apache.cassandra.schema.LegacySchemaTables;
import org.apache.cassandra.utils.FBUtilities;
import org.apache.cassandra.utils.WrappedRunnable;
@@ -158,7 +158,7 @@ public class MigrationManager
return ((ThreadPoolExecutor) StageManager.getStage(Stage.MIGRATION)).getActiveCount() == 0;
}
- public void notifyCreateKeyspace(KSMetaData ksm)
+ public void notifyCreateKeyspace(KeyspaceMetadata ksm)
{
for (MigrationListener listener : listeners)
listener.onCreateKeyspace(ksm.name);
@@ -188,7 +188,7 @@ public class MigrationManager
listener.onCreateAggregate(udf.name().keyspace, udf.name().name, udf.argTypes());
}
- public void notifyUpdateKeyspace(KSMetaData ksm)
+ public void notifyUpdateKeyspace(KeyspaceMetadata ksm)
{
for (MigrationListener listener : listeners)
listener.onUpdateKeyspace(ksm.name);
@@ -221,7 +221,7 @@ public class MigrationManager
listener.onUpdateAggregate(udf.name().keyspace, udf.name().name, udf.argTypes());
}
- public void notifyDropKeyspace(KSMetaData ksm)
+ public void notifyDropKeyspace(KeyspaceMetadata ksm)
{
for (MigrationListener listener : listeners)
listener.onDropKeyspace(ksm.name);
@@ -251,17 +251,17 @@ public class MigrationManager
listener.onDropAggregate(udf.name().keyspace, udf.name().name, udf.argTypes());
}
- public static void announceNewKeyspace(KSMetaData ksm) throws ConfigurationException
+ public static void announceNewKeyspace(KeyspaceMetadata ksm) throws ConfigurationException
{
announceNewKeyspace(ksm, false);
}
- public static void announceNewKeyspace(KSMetaData ksm, boolean announceLocally) throws ConfigurationException
+ public static void announceNewKeyspace(KeyspaceMetadata ksm, boolean announceLocally) throws ConfigurationException
{
announceNewKeyspace(ksm, FBUtilities.timestampMicros(), announceLocally);
}
- public static void announceNewKeyspace(KSMetaData ksm, long timestamp, boolean announceLocally) throws ConfigurationException
+ public static void announceNewKeyspace(KeyspaceMetadata ksm, long timestamp, boolean announceLocally) throws ConfigurationException
{
ksm.validate();
@@ -281,7 +281,7 @@ public class MigrationManager
{
cfm.validate();
- KSMetaData ksm = Schema.instance.getKSMetaData(cfm.ksName);
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(cfm.ksName);
if (ksm == null)
throw new ConfigurationException(String.format("Cannot add table '%s' to non existing keyspace '%s'.", cfm.cfName, cfm.ksName));
else if (ksm.tables.get(cfm.cfName).isPresent())
@@ -293,34 +293,34 @@ public class MigrationManager
public static void announceNewType(UserType newType, boolean announceLocally)
{
- KSMetaData ksm = Schema.instance.getKSMetaData(newType.keyspace);
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(newType.keyspace);
announce(LegacySchemaTables.makeCreateTypeMutation(ksm, newType, FBUtilities.timestampMicros()), announceLocally);
}
public static void announceNewFunction(UDFunction udf, boolean announceLocally)
{
logger.info(String.format("Create scalar function '%s'", udf.name()));
- KSMetaData ksm = Schema.instance.getKSMetaData(udf.name().keyspace);
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(udf.name().keyspace);
announce(LegacySchemaTables.makeCreateFunctionMutation(ksm, udf, FBUtilities.timestampMicros()), announceLocally);
}
public static void announceNewAggregate(UDAggregate udf, boolean announceLocally)
{
logger.info(String.format("Create aggregate function '%s'", udf.name()));
- KSMetaData ksm = Schema.instance.getKSMetaData(udf.name().keyspace);
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(udf.name().keyspace);
announce(LegacySchemaTables.makeCreateAggregateMutation(ksm, udf, FBUtilities.timestampMicros()), announceLocally);
}
- public static void announceKeyspaceUpdate(KSMetaData ksm) throws ConfigurationException
+ public static void announceKeyspaceUpdate(KeyspaceMetadata ksm) throws ConfigurationException
{
announceKeyspaceUpdate(ksm, false);
}
- public static void announceKeyspaceUpdate(KSMetaData ksm, boolean announceLocally) throws ConfigurationException
+ public static void announceKeyspaceUpdate(KeyspaceMetadata ksm, boolean announceLocally) throws ConfigurationException
{
ksm.validate();
- KSMetaData oldKsm = Schema.instance.getKSMetaData(ksm.name);
+ KeyspaceMetadata oldKsm = Schema.instance.getKSMetaData(ksm.name);
if (oldKsm == null)
throw new ConfigurationException(String.format("Cannot update non existing keyspace '%s'.", ksm.name));
@@ -340,7 +340,7 @@ public class MigrationManager
CFMetaData oldCfm = Schema.instance.getCFMetaData(cfm.ksName, cfm.cfName);
if (oldCfm == null)
throw new ConfigurationException(String.format("Cannot update non existing table '%s' in keyspace '%s'.", cfm.cfName, cfm.ksName));
- KSMetaData ksm = Schema.instance.getKSMetaData(cfm.ksName);
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(cfm.ksName);
oldCfm.validateCompatility(cfm);
@@ -360,7 +360,7 @@ public class MigrationManager
public static void announceKeyspaceDrop(String ksName, boolean announceLocally) throws ConfigurationException
{
- KSMetaData oldKsm = Schema.instance.getKSMetaData(ksName);
+ KeyspaceMetadata oldKsm = Schema.instance.getKSMetaData(ksName);
if (oldKsm == null)
throw new ConfigurationException(String.format("Cannot drop non existing keyspace '%s'.", ksName));
@@ -378,7 +378,7 @@ public class MigrationManager
CFMetaData oldCfm = Schema.instance.getCFMetaData(ksName, cfName);
if (oldCfm == null)
throw new ConfigurationException(String.format("Cannot drop non existing table '%s' in keyspace '%s'.", cfName, ksName));
- KSMetaData ksm = Schema.instance.getKSMetaData(ksName);
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(ksName);
logger.info(String.format("Drop table '%s/%s'", oldCfm.ksName, oldCfm.cfName));
announce(LegacySchemaTables.makeDropTableMutation(ksm, oldCfm, FBUtilities.timestampMicros()), announceLocally);
@@ -391,21 +391,21 @@ public class MigrationManager
public static void announceTypeDrop(UserType droppedType, boolean announceLocally)
{
- KSMetaData ksm = Schema.instance.getKSMetaData(droppedType.keyspace);
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(droppedType.keyspace);
announce(LegacySchemaTables.dropTypeFromSchemaMutation(ksm, droppedType, FBUtilities.timestampMicros()), announceLocally);
}
public static void announceFunctionDrop(UDFunction udf, boolean announceLocally)
{
logger.info(String.format("Drop scalar function overload '%s' args '%s'", udf.name(), udf.argTypes()));
- KSMetaData ksm = Schema.instance.getKSMetaData(udf.name().keyspace);
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(udf.name().keyspace);
announce(LegacySchemaTables.makeDropFunctionMutation(ksm, udf, FBUtilities.timestampMicros()), announceLocally);
}
public static void announceAggregateDrop(UDAggregate udf, boolean announceLocally)
{
logger.info(String.format("Drop aggregate function overload '%s' args '%s'", udf.name(), udf.argTypes()));
- KSMetaData ksm = Schema.instance.getKSMetaData(udf.name().keyspace);
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(udf.name().keyspace);
announce(LegacySchemaTables.makeDropAggregateMutation(ksm, udf, FBUtilities.timestampMicros()), announceLocally);
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/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 401057c..8b612b7 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -111,6 +111,7 @@ import org.apache.cassandra.repair.RepairParallelism;
import org.apache.cassandra.repair.RepairRunnable;
import org.apache.cassandra.repair.SystemDistributedKeyspace;
import org.apache.cassandra.repair.messages.RepairOption;
+import org.apache.cassandra.schema.KeyspaceMetadata;
import org.apache.cassandra.service.paxos.CommitVerbHandler;
import org.apache.cassandra.service.paxos.PrepareVerbHandler;
import org.apache.cassandra.service.paxos.ProposeVerbHandler;
@@ -644,7 +645,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
List<Future<?>> flushes = new ArrayList<>();
for (Keyspace keyspace : Keyspace.all())
{
- KSMetaData ksm = Schema.instance.getKSMetaData(keyspace.getName());
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(keyspace.getName());
if (!ksm.params.durableWrites)
for (ColumnFamilyStore cfs : keyspace.getColumnFamilyStores())
flushes.add(cfs.forceFlush());
@@ -944,10 +945,10 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
// if we don't have system_traces keyspace at this point, then create it manually
if (Schema.instance.getKSMetaData(TraceKeyspace.NAME) == null)
- maybeAddKeyspace(TraceKeyspace.definition());
+ maybeAddKeyspace(TraceKeyspace.metadata());
if (Schema.instance.getKSMetaData(SystemDistributedKeyspace.NAME) == null)
- MigrationManager.announceNewKeyspace(SystemDistributedKeyspace.definition(), 0, false);
+ MigrationManager.announceNewKeyspace(SystemDistributedKeyspace.metadata(), 0, false);
if (!isSurveyMode)
{
@@ -1017,7 +1018,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
{
// if we don't have system_auth keyspace at this point, then create it
if (Schema.instance.getKSMetaData(AuthKeyspace.NAME) == null)
- maybeAddKeyspace(AuthKeyspace.definition());
+ maybeAddKeyspace(AuthKeyspace.metadata());
}
catch (Exception e)
{
@@ -1028,7 +1029,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
// the ks exists with the only the legacy tables defined.
// Also, the addKeyspace above can be racy if multiple nodes are started
// concurrently - see CASSANDRA-9201
- for (CFMetaData table : AuthKeyspace.definition().tables)
+ for (CFMetaData table : AuthKeyspace.metadata().tables)
if (Schema.instance.getCFMetaData(table.ksName, table.cfName) == null)
maybeAddTable(table);
@@ -1050,7 +1051,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
}
}
- private void maybeAddKeyspace(KSMetaData ksm)
+ private void maybeAddKeyspace(KeyspaceMetadata ksm)
{
try
{
@@ -3118,7 +3119,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
*/
public List<InetAddress> getNaturalEndpoints(String keyspaceName, String cf, String key)
{
- KSMetaData ksMetaData = Schema.instance.getKSMetaData(keyspaceName);
+ KeyspaceMetadata ksMetaData = Schema.instance.getKSMetaData(keyspaceName);
if (ksMetaData == null)
throw new IllegalArgumentException("Unknown keyspace '" + keyspaceName + "'");
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/src/java/org/apache/cassandra/thrift/CassandraServer.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/thrift/CassandraServer.java b/src/java/org/apache/cassandra/thrift/CassandraServer.java
index d6f0757..21049d4 100644
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@ -52,6 +52,7 @@ import org.apache.cassandra.io.util.DataOutputBuffer;
import org.apache.cassandra.locator.DynamicEndpointSnitch;
import org.apache.cassandra.metrics.ClientMetrics;
import org.apache.cassandra.scheduler.IRequestScheduler;
+import org.apache.cassandra.schema.KeyspaceMetadata;
import org.apache.cassandra.serializers.MarshalException;
import org.apache.cassandra.service.*;
import org.apache.cassandra.service.pager.QueryPagers;
@@ -1429,7 +1430,7 @@ public class CassandraServer implements Cassandra.Iface
{
validateLogin();
- KSMetaData ksm = Schema.instance.getKSMetaData(keyspaceName);
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(keyspaceName);
if (ksm == null)
throw new NotFoundException();
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/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 9c761d7..f60ea48 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.KeyspaceMetadata;
import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.schema.Tables;
import org.apache.cassandra.serializers.MarshalException;
@@ -153,7 +154,7 @@ public class ThriftConversion
return converted;
}
- public static KSMetaData fromThrift(KsDef ksd, CFMetaData... cfDefs) throws ConfigurationException
+ public static KeyspaceMetadata fromThrift(KsDef ksd, CFMetaData... cfDefs) throws ConfigurationException
{
Class<? extends AbstractReplicationStrategy> cls = AbstractReplicationStrategy.getClass(ksd.strategy_class);
if (cls.equals(LocalStrategy.class))
@@ -164,10 +165,10 @@ public class ThriftConversion
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));
+ return KeyspaceMetadata.create(ksd.name, KeyspaceParams.create(ksd.durable_writes, replicationMap), Tables.of(cfDefs));
}
- public static KsDef toThrift(KSMetaData ksm)
+ public static KsDef toThrift(KeyspaceMetadata ksm)
{
List<CfDef> cfDefs = new ArrayList<>();
for (CFMetaData cfm : ksm.tables)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/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 8eab93c..d7b804a 100644
--- a/src/java/org/apache/cassandra/tracing/TraceKeyspace.java
+++ b/src/java/org/apache/cassandra/tracing/TraceKeyspace.java
@@ -22,9 +22,9 @@ import java.nio.ByteBuffer;
import java.util.*;
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.schema.KeyspaceMetadata;
import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.schema.Tables;
import org.apache.cassandra.utils.FBUtilities;
@@ -73,9 +73,9 @@ public final class TraceKeyspace
.comment(description);
}
- public static KSMetaData definition()
+ public static KeyspaceMetadata metadata()
{
- return KSMetaData.create(NAME, KeyspaceParams.simple(2), Tables.of(Sessions, Events));
+ return KeyspaceMetadata.create(NAME, KeyspaceParams.simple(2), Tables.of(Sessions, Events));
}
static Mutation makeStartSessionMutation(ByteBuffer sessionId,
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/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 6aa40d2..104e88f 100644
--- a/test/unit/org/apache/cassandra/MockSchema.java
+++ b/test/unit/org/apache/cassandra/MockSchema.java
@@ -29,7 +29,6 @@ import com.google.common.collect.ImmutableSet;
import org.apache.cassandra.cache.CachingOptions;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.DatabaseDescriptor;
-import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.*;
import org.apache.cassandra.db.marshal.UTF8Type;
import org.apache.cassandra.dht.Murmur3Partitioner;
@@ -45,6 +44,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.schema.KeyspaceMetadata;
import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.utils.AlwaysPresentFilter;
import org.apache.cassandra.utils.ByteBufferUtil;
@@ -58,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(KSMetaData.create("mockks", KeyspaceParams.simpleTransient(1)));
+ public static final Keyspace ks = Keyspace.mockKS(KeyspaceMetadata.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/a89597da/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 b3b4a64..bd213a5 100644
--- a/test/unit/org/apache/cassandra/SchemaLoader.java
+++ b/test/unit/org/apache/cassandra/SchemaLoader.java
@@ -41,6 +41,7 @@ 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.schema.KeyspaceMetadata;
import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.schema.Tables;
import org.apache.cassandra.service.MigrationManager;
@@ -83,7 +84,7 @@ public class SchemaLoader
public static void schemaDefinition(String testName) throws ConfigurationException
{
- List<KSMetaData> schema = new ArrayList<KSMetaData>();
+ List<KeyspaceMetadata> schema = new ArrayList<KeyspaceMetadata>();
// A whole bucket of shorthand
String ks1 = testName + "Keyspace1";
@@ -117,7 +118,7 @@ public class SchemaLoader
leveledOptions.put("sstable_size_in_mb", "1");
// Keyspace 1
- schema.add(KSMetaData.create(ks1,
+ schema.add(KeyspaceMetadata.create(ks1,
KeyspaceParams.simple(1),
Tables.of(
// Column Families
@@ -166,7 +167,7 @@ public class SchemaLoader
)));
// Keyspace 2
- schema.add(KSMetaData.create(ks2,
+ schema.add(KeyspaceMetadata.create(ks2,
KeyspaceParams.simple(1),
Tables.of(
// Column Families
@@ -179,14 +180,14 @@ public class SchemaLoader
compositeIndexCFMD(ks2, "Indexed3", true).gcGraceSeconds(0))));
// Keyspace 3
- schema.add(KSMetaData.create(ks3,
+ schema.add(KeyspaceMetadata.create(ks3,
KeyspaceParams.simple(5),
Tables.of(
standardCFMD(ks3, "Standard1"),
keysIndexCFMD(ks3, "Indexed1", true))));
// Keyspace 4
- schema.add(KSMetaData.create(ks4,
+ schema.add(KeyspaceMetadata.create(ks4,
KeyspaceParams.simple(3),
Tables.of(
standardCFMD(ks4, "Standard1"),
@@ -196,16 +197,16 @@ public class SchemaLoader
superCFMD(ks4, "Super5", TimeUUIDType.instance, BytesType.instance))));
// Keyspace 5
- schema.add(KSMetaData.create(ks5,
+ schema.add(KeyspaceMetadata.create(ks5,
KeyspaceParams.simple(2),
Tables.of(standardCFMD(ks5, "Standard1"))));
// Keyspace 6
- schema.add(KSMetaData.create(ks6,
+ schema.add(KeyspaceMetadata.create(ks6,
KeyspaceParams.simple(1),
Tables.of(keysIndexCFMD(ks6, "Indexed1", true))));
// KeyCacheSpace
- schema.add(KSMetaData.create(ks_kcs,
+ schema.add(KeyspaceMetadata.create(ks_kcs,
KeyspaceParams.simple(1),
Tables.of(
standardCFMD(ks_kcs, "Standard1"),
@@ -213,7 +214,7 @@ public class SchemaLoader
standardCFMD(ks_kcs, "Standard3"))));
// RowCacheSpace
- schema.add(KSMetaData.create(ks_rcs,
+ schema.add(KeyspaceMetadata.create(ks_rcs,
KeyspaceParams.simple(1),
Tables.of(
standardCFMD(ks_rcs, "CFWithoutCache").caching(CachingOptions.NONE),
@@ -223,21 +224,21 @@ public class SchemaLoader
new CachingOptions.RowCache(CachingOptions.RowCache.Type.HEAD, 100))))));
// CounterCacheSpace
- /*schema.add(KSMetaData.testMetadata(ks_ccs,
+ /*schema.add(KeyspaceMetadata.testMetadata(ks_ccs,
simple,
opts_rf1,
CFMetaData.Builder.create(ks_ccs, "Counter1", false, false, true).build(),
CFMetaData.Builder.create(ks_ccs, "Counter1", false, false, true).build()));*/
- schema.add(KSMetaData.create(ks_nocommit, KeyspaceParams.simpleTransient(1), Tables.of(
+ schema.add(KeyspaceMetadata.create(ks_nocommit, KeyspaceParams.simpleTransient(1), Tables.of(
standardCFMD(ks_nocommit, "Standard1"))));
// PerRowSecondaryIndexTest
- schema.add(KSMetaData.create(ks_prsi, KeyspaceParams.simple(1), Tables.of(
+ schema.add(KeyspaceMetadata.create(ks_prsi, KeyspaceParams.simple(1), Tables.of(
perRowIndexedCFMD(ks_prsi, "Indexed1"))));
// CQLKeyspace
- schema.add(KSMetaData.create(ks_cql, KeyspaceParams.simple(1), Tables.of(
+ schema.add(KeyspaceMetadata.create(ks_cql, KeyspaceParams.simple(1), Tables.of(
// Column Families
CFMetaData.compile("CREATE TABLE table1 ("
@@ -273,13 +274,13 @@ public class SchemaLoader
// if you're messing with low-level sstable stuff, it can be useful to inject the schema directly
// Schema.instance.load(schemaDefinition());
- for (KSMetaData ksm : schema)
+ for (KeyspaceMetadata ksm : schema)
MigrationManager.announceNewKeyspace(ksm, false);
}
public static void createKeyspace(String name, KeyspaceParams params, CFMetaData... tables)
{
- MigrationManager.announceNewKeyspace(KSMetaData.create(name, params, Tables.of(tables)), true);
+ MigrationManager.announceNewKeyspace(KeyspaceMetadata.create(name, params, Tables.of(tables)), true);
}
public static ColumnDefinition integerColumn(String ksName, String cfName)
@@ -322,9 +323,9 @@ public class SchemaLoader
.setIndex("indexe1", IndexType.CUSTOM, indexOptions));
}
- private static void useCompression(List<KSMetaData> schema)
+ private static void useCompression(List<KeyspaceMetadata> schema)
{
- for (KSMetaData ksm : schema)
+ for (KeyspaceMetadata ksm : schema)
for (CFMetaData cfm : ksm.tables)
cfm.compressionParameters(new CompressionParameters(SnappyCompressor.instance));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/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 c302f4b..1238464 100644
--- a/test/unit/org/apache/cassandra/config/CFMetaDataTest.java
+++ b/test/unit/org/apache/cassandra/config/CFMetaDataTest.java
@@ -31,6 +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.schema.KeyspaceMetadata;
import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.schema.LegacySchemaTables;
import org.apache.cassandra.service.StorageService;
@@ -134,7 +135,7 @@ public class CFMetaDataTest
private void checkInverses(CFMetaData cfm) throws Exception
{
DecoratedKey k = StorageService.getPartitioner().decorateKey(ByteBufferUtil.bytes(cfm.ksName));
- KSMetaData keyspace = Schema.instance.getKSMetaData(cfm.ksName);
+ KeyspaceMetadata keyspace = Schema.instance.getKSMetaData(cfm.ksName);
// Test thrift conversion
CFMetaData before = cfm;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/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 ecffd6f..100a432 100644
--- a/test/unit/org/apache/cassandra/config/DatabaseDescriptorTest.java
+++ b/test/unit/org/apache/cassandra/config/DatabaseDescriptorTest.java
@@ -34,6 +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.schema.KeyspaceMetadata;
import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.service.MigrationManager;
import org.apache.cassandra.thrift.ThriftConversion;
@@ -66,8 +67,8 @@ public class DatabaseDescriptorTest
for (String ks : Schema.instance.getNonSystemKeyspaces())
{
// Not testing round-trip on the KsDef via serDe() because maps
- KSMetaData ksm = Schema.instance.getKSMetaData(ks);
- KSMetaData ksmDupe = ThriftConversion.fromThrift(ThriftConversion.toThrift(ksm));
+ KeyspaceMetadata ksm = Schema.instance.getKSMetaData(ks);
+ KeyspaceMetadata ksmDupe = ThriftConversion.fromThrift(ThriftConversion.toThrift(ksm));
assertNotNull(ksmDupe);
assertEquals(ksm, ksmDupe);
}
@@ -87,14 +88,14 @@ public class DatabaseDescriptorTest
try
{
// add a few.
- MigrationManager.announceNewKeyspace(KSMetaData.create("ks0", KeyspaceParams.simple(3)));
- MigrationManager.announceNewKeyspace(KSMetaData.create("ks1", KeyspaceParams.simple(3)));
+ MigrationManager.announceNewKeyspace(KeyspaceMetadata.create("ks0", KeyspaceParams.simple(3)));
+ MigrationManager.announceNewKeyspace(KeyspaceMetadata.create("ks1", KeyspaceParams.simple(3)));
assertNotNull(Schema.instance.getKSMetaData("ks0"));
assertNotNull(Schema.instance.getKSMetaData("ks1"));
- Schema.instance.clearKeyspaceDefinition(Schema.instance.getKSMetaData("ks0"));
- Schema.instance.clearKeyspaceDefinition(Schema.instance.getKSMetaData("ks1"));
+ Schema.instance.clearKeyspaceMetadata(Schema.instance.getKSMetaData("ks0"));
+ Schema.instance.clearKeyspaceMetadata(Schema.instance.getKSMetaData("ks1"));
assertNull(Schema.instance.getKSMetaData("ks0"));
assertNull(Schema.instance.getKSMetaData("ks1"));
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a89597da/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 a9aca36..aabc392 100644
--- a/test/unit/org/apache/cassandra/config/LegacySchemaTablesTest.java
+++ b/test/unit/org/apache/cassandra/config/LegacySchemaTablesTest.java
@@ -31,6 +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.schema.KeyspaceMetadata;
import org.apache.cassandra.schema.KeyspaceParams;
import org.apache.cassandra.schema.LegacySchemaTables;
import org.apache.cassandra.service.StorageService;
@@ -134,7 +135,7 @@ public class LegacySchemaTablesTest
private void checkInverses(CFMetaData cfm) throws Exception
{
DecoratedKey k = StorageService.getPartitioner().decorateKey(ByteBufferUtil.bytes(cfm.ksName));
- KSMetaData keyspace = Schema.instance.getKSMetaData(cfm.ksName);
+ KeyspaceMetadata keyspace = Schema.instance.getKSMetaData(cfm.ksName);
// Test thrift conversion
CFMetaData before = cfm;