Repository: cassandra
Updated Branches:
  refs/heads/trunk 3580f6c05 -> af3fe39dc


http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/triggers/TriggersTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/triggers/TriggersTest.java 
b/test/unit/org/apache/cassandra/triggers/TriggersTest.java
index 37638c9..52cebc9 100644
--- a/test/unit/org/apache/cassandra/triggers/TriggersTest.java
+++ b/test/unit/org/apache/cassandra/triggers/TriggersTest.java
@@ -17,17 +17,15 @@
  */
 package org.apache.cassandra.triggers;
 
-import java.net.InetAddress;
 import java.util.Collection;
 import java.util.Collections;
 
-import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
 import org.apache.cassandra.SchemaLoader;
-import org.apache.cassandra.config.Schema;
+import org.apache.cassandra.schema.Schema;
 import org.apache.cassandra.cql3.QueryProcessor;
 import org.apache.cassandra.cql3.UntypedResultSet;
 import org.apache.cassandra.db.*;
@@ -39,7 +37,6 @@ import 
org.apache.cassandra.exceptions.RequestExecutionException;
 import org.apache.cassandra.service.StorageService;
 import org.apache.cassandra.utils.FBUtilities;
 
-import static org.apache.cassandra.utils.ByteBufferUtil.bytes;
 import static org.apache.cassandra.utils.ByteBufferUtil.toInt;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
@@ -230,7 +227,7 @@ public class TriggersTest
         public Collection<Mutation> augment(Partition partition)
         {
 
-            RowUpdateBuilder update = new 
RowUpdateBuilder(Schema.instance.getCFMetaData(ksName, otherCf), 
FBUtilities.timestampMicros(), partition.partitionKey().getKey());
+            RowUpdateBuilder update = new 
RowUpdateBuilder(Schema.instance.getTableMetadata(ksName, otherCf), 
FBUtilities.timestampMicros(), partition.partitionKey().getKey());
             update.add("v2", 999);
 
             return Collections.singletonList(update.build());

http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/tools/stress/src/org/apache/cassandra/io/sstable/StressCQLSSTableWriter.java
----------------------------------------------------------------------
diff --git 
a/tools/stress/src/org/apache/cassandra/io/sstable/StressCQLSSTableWriter.java 
b/tools/stress/src/org/apache/cassandra/io/sstable/StressCQLSSTableWriter.java
index 41a0d6f..89fd5f9 100644
--- 
a/tools/stress/src/org/apache/cassandra/io/sstable/StressCQLSSTableWriter.java
+++ 
b/tools/stress/src/org/apache/cassandra/io/sstable/StressCQLSSTableWriter.java
@@ -24,12 +24,15 @@ import java.nio.ByteBuffer;
 import java.util.*;
 import java.util.stream.Collectors;
 
+import org.apache.commons.lang3.ArrayUtils;
+
 import com.datastax.driver.core.ProtocolVersion;
 import com.datastax.driver.core.TypeCodec;
 import org.antlr.runtime.RecognitionException;
-import org.apache.cassandra.config.CFMetaData;
+import org.apache.cassandra.schema.TableId;
+import org.apache.cassandra.schema.TableMetadata;
 import org.apache.cassandra.config.DatabaseDescriptor;
-import org.apache.cassandra.config.Schema;
+import org.apache.cassandra.schema.Schema;
 import org.apache.cassandra.cql3.CQLFragmentParser;
 import org.apache.cassandra.cql3.ColumnSpecification;
 import org.apache.cassandra.cql3.CqlParser;
@@ -51,6 +54,7 @@ import org.apache.cassandra.exceptions.SyntaxException;
 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.TableMetadataRef;
 import org.apache.cassandra.schema.Types;
 import org.apache.cassandra.service.ClientState;
 import org.apache.cassandra.utils.ByteBufferUtil;
@@ -246,7 +250,7 @@ public class StressCQLSSTableWriter implements Closeable
         long now = System.currentTimeMillis() * 1000;
         // Note that we asks indexes to not validate values (the last 'false' 
arg below) because that triggers a 'Keyspace.open'
         // and that forces a lot of initialization that we don't want.
-        UpdateParameters params = new UpdateParameters(insert.cfm,
+        UpdateParameters params = new UpdateParameters(insert.metadata(),
                                                        insert.updatedColumns(),
                                                        options,
                                                        
insert.getTimestamp(now, options),
@@ -307,7 +311,7 @@ public class StressCQLSSTableWriter implements Closeable
      */
     public com.datastax.driver.core.UserType getUDType(String dataType)
     {
-        KeyspaceMetadata ksm = 
Schema.instance.getKSMetaData(insert.keyspace());
+        KeyspaceMetadata ksm = 
Schema.instance.getKeyspaceMetadata(insert.keyspace());
         UserType userType = 
ksm.types.getNullable(ByteBufferUtil.bytes(dataType));
         return (com.datastax.driver.core.UserType) 
UDHelper.driverType(userType);
     }
@@ -579,13 +583,13 @@ public class StressCQLSSTableWriter implements Closeable
 
         private static void createTypes(String keyspace, 
List<CreateTypeStatement> typeStatements)
         {
-            KeyspaceMetadata ksm = Schema.instance.getKSMetaData(keyspace);
+            KeyspaceMetadata ksm = 
Schema.instance.getKeyspaceMetadata(keyspace);
             Types.RawBuilder builder = Types.rawBuilder(keyspace);
             for (CreateTypeStatement st : typeStatements)
                 st.addToRawBuilder(builder);
 
             ksm = ksm.withSwapped(builder.build());
-            Schema.instance.setKeyspaceMetadata(ksm);
+            Schema.instance.load(ksm);
         }
 
         public static ColumnFamilyStore createOfflineTable(String schema, 
List<File> directoryList)
@@ -601,38 +605,40 @@ public class StressCQLSSTableWriter implements Closeable
         {
             String keyspace = schemaStatement.keyspace();
 
-            if (Schema.instance.getKSMetaData(keyspace) == null)
+            if (Schema.instance.getKeyspaceMetadata(keyspace) == null)
                 Schema.instance.load(KeyspaceMetadata.create(keyspace, 
KeyspaceParams.simple(1)));
 
             createTypes(keyspace, typeStatements);
 
-            KeyspaceMetadata ksm = Schema.instance.getKSMetaData(keyspace);
+            KeyspaceMetadata ksm = 
Schema.instance.getKeyspaceMetadata(keyspace);
 
-            CFMetaData cfMetaData = 
ksm.tables.getNullable(schemaStatement.columnFamily());
-            assert cfMetaData == null;
+            assert ksm.tables.getNullable(schemaStatement.columnFamily()) == 
null;
 
             CreateTableStatement statement = (CreateTableStatement) 
schemaStatement.prepare(ksm.types).statement;
             statement.validate(ClientState.forInternalCalls());
 
-            //Build metatdata with a portable cfId
-            cfMetaData = statement.metadataBuilder()
-                                  
.withId(CFMetaData.generateLegacyCfId(keyspace, statement.columnFamily()))
-                                  .build()
-                                  .params(statement.params());
+            //Build metadata with a portable tableId
+            TableMetadata tableMetadata = statement.builder()
+                                                   
.id(deterministicId(statement.keyspace(), statement.columnFamily()))
+                                                   .build();
 
             Keyspace.setInitialized();
-            Directories directories = new Directories(cfMetaData, 
directoryList.stream().map(Directories.DataDirectory::new).collect(Collectors.toList()));
+            Directories directories = new Directories(tableMetadata, 
directoryList.stream().map(Directories.DataDirectory::new).collect(Collectors.toList()));
 
             Keyspace ks = Keyspace.openWithoutSSTables(keyspace);
-            ColumnFamilyStore cfs =  
ColumnFamilyStore.createColumnFamilyStore(ks, cfMetaData.cfName, cfMetaData, 
directories, false, false, true);
+            ColumnFamilyStore cfs =  
ColumnFamilyStore.createColumnFamilyStore(ks, tableMetadata.name, 
TableMetadataRef.forOfflineTools(tableMetadata), directories, false, false, 
true);
 
             ks.initCfCustom(cfs);
-            Schema.instance.load(cfs.metadata);
-            
Schema.instance.setKeyspaceMetadata(ksm.withSwapped(ksm.tables.with(cfs.metadata)));
+            
Schema.instance.load(ksm.withSwapped(ksm.tables.with(cfs.metadata())));
 
             return cfs;
         }
 
+        private static TableId deterministicId(String keyspace, String table)
+        {
+            return 
TableId.fromUUID(UUID.nameUUIDFromBytes(ArrayUtils.addAll(keyspace.getBytes(), 
table.getBytes())));
+        }
+
         /**
          * Prepares insert statement for writing data to SSTable
          *

http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/tools/stress/src/org/apache/cassandra/stress/StressProfile.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/StressProfile.java 
b/tools/stress/src/org/apache/cassandra/stress/StressProfile.java
index e15e0ba..3662632 100644
--- a/tools/stress/src/org/apache/cassandra/stress/StressProfile.java
+++ b/tools/stress/src/org/apache/cassandra/stress/StressProfile.java
@@ -35,16 +35,16 @@ import com.google.common.base.Function;
 import com.google.common.util.concurrent.Uninterruptibles;
 
 import com.datastax.driver.core.*;
+import com.datastax.driver.core.TableMetadata;
 import com.datastax.driver.core.exceptions.AlreadyExistsException;
 import org.antlr.runtime.RecognitionException;
-import org.apache.cassandra.config.CFMetaData;
-import org.apache.cassandra.config.ColumnDefinition;
 import org.apache.cassandra.cql3.CQLFragmentParser;
 import org.apache.cassandra.cql3.CqlParser;
 import org.apache.cassandra.cql3.QueryProcessor;
 import org.apache.cassandra.cql3.statements.CreateTableStatement;
 import org.apache.cassandra.exceptions.RequestValidationException;
 import org.apache.cassandra.exceptions.SyntaxException;
+import org.apache.cassandra.schema.ColumnMetadata;
 import org.apache.cassandra.stress.generate.*;
 import org.apache.cassandra.stress.generate.values.*;
 import org.apache.cassandra.stress.operations.userdefined.TokenRangeQuery;
@@ -300,7 +300,7 @@ public class StressProfile implements Serializable
                     throw new RuntimeException("Unable to find table " + 
keyspaceName + "." + tableName);
 
                 //Fill in missing column configs
-                for (ColumnMetadata col : metadata.getColumns())
+                for (com.datastax.driver.core.ColumnMetadata col : 
metadata.getColumns())
                 {
                     if (columnConfigs.containsKey(col.getName()))
                         continue;
@@ -393,31 +393,31 @@ public class StressProfile implements Serializable
 
     public PartitionGenerator getOfflineGenerator()
     {
-        CFMetaData cfMetaData = CFMetaData.compile(tableCql, keyspaceName);
+        org.apache.cassandra.schema.TableMetadata metadata = 
CreateTableStatement.parse(tableCql, keyspaceName).build();
 
         //Add missing column configs
-        Iterator<ColumnDefinition> it = cfMetaData.allColumnsInSelectOrder();
+        Iterator<ColumnMetadata> it = metadata.allColumnsInSelectOrder();
         while (it.hasNext())
         {
-            ColumnDefinition c = it.next();
+            ColumnMetadata c = it.next();
             if (!columnConfigs.containsKey(c.name.toString()))
                 columnConfigs.put(c.name.toString(), new 
GeneratorConfig(seedStr + c.name.toString(), null, null, null));
         }
 
-        List<Generator> partitionColumns = 
cfMetaData.partitionKeyColumns().stream()
-                                                     .map(c -> new 
ColumnInfo(c.name.toString(), c.type.asCQL3Type().toString(), "", 
columnConfigs.get(c.name.toString())))
-                                                     .map(c -> 
c.getGenerator())
-                                                     
.collect(Collectors.toList());
+        List<Generator> partitionColumns = 
metadata.partitionKeyColumns().stream()
+                                                   .map(c -> new 
ColumnInfo(c.name.toString(), c.type.asCQL3Type().toString(), "", 
columnConfigs.get(c.name.toString())))
+                                                   .map(c -> c.getGenerator())
+                                                   
.collect(Collectors.toList());
 
-        List<Generator> clusteringColumns = 
cfMetaData.clusteringColumns().stream()
-                                                             .map(c -> new 
ColumnInfo(c.name.toString(), c.type.asCQL3Type().toString(), "", 
columnConfigs.get(c.name.toString())))
-                                                             .map(c -> 
c.getGenerator())
-                                                             
.collect(Collectors.toList());
+        List<Generator> clusteringColumns = 
metadata.clusteringColumns().stream()
+                                                    .map(c -> new 
ColumnInfo(c.name.toString(), c.type.asCQL3Type().toString(), "", 
columnConfigs.get(c.name.toString())))
+                                                    .map(c -> c.getGenerator())
+                                                    
.collect(Collectors.toList());
 
-        List<Generator> regularColumns = 
com.google.common.collect.Lists.newArrayList(cfMetaData.partitionColumns().selectOrderIterator()).stream()
-                                                                               
                              .map(c -> new ColumnInfo(c.name.toString(), 
c.type.asCQL3Type().toString(), "", columnConfigs.get(c.name.toString())))
-                                                                               
                              .map(c -> c.getGenerator())
-                                                                               
                              .collect(Collectors.toList());
+        List<Generator> regularColumns = 
com.google.common.collect.Lists.newArrayList(metadata.regularAndStaticColumns().selectOrderIterator()).stream()
+                                                                        .map(c 
-> new ColumnInfo(c.name.toString(), c.type.asCQL3Type().toString(), "", 
columnConfigs.get(c.name.toString())))
+                                                                        .map(c 
-> c.getGenerator())
+                                                                        
.collect(Collectors.toList());
 
         return new PartitionGenerator(partitionColumns, clusteringColumns, 
regularColumns, PartitionGenerator.Order.ARBITRARY);
     }
@@ -434,14 +434,14 @@ public class StressProfile implements Serializable
     {
         assert tableCql != null;
 
-        CFMetaData cfMetaData = CFMetaData.compile(tableCql, keyspaceName);
+        org.apache.cassandra.schema.TableMetadata metadata = 
CreateTableStatement.parse(tableCql, keyspaceName).build();
 
-        List<ColumnDefinition> allColumns = 
com.google.common.collect.Lists.newArrayList(cfMetaData.allColumnsInSelectOrder());
+        List<ColumnMetadata> allColumns = 
com.google.common.collect.Lists.newArrayList(metadata.allColumnsInSelectOrder());
 
         StringBuilder sb = new StringBuilder();
         sb.append("INSERT INTO 
").append(quoteIdentifier(keyspaceName)).append(".").append(quoteIdentifier(tableName)).append("
 (");
         StringBuilder value = new StringBuilder();
-        for (ColumnDefinition c : allColumns)
+        for (ColumnMetadata c : allColumns)
         {
             sb.append(quoteIdentifier(c.name.toString())).append(", ");
             value.append("?, ");
@@ -481,8 +481,8 @@ public class StressProfile implements Serializable
                 {
                     maybeLoadSchemaInfo(settings);
 
-                    Set<ColumnMetadata> keyColumns = 
com.google.common.collect.Sets.newHashSet(tableMetaData.getPrimaryKey());
-                    Set<ColumnMetadata> allColumns = 
com.google.common.collect.Sets.newHashSet(tableMetaData.getColumns());
+                    Set<com.datastax.driver.core.ColumnMetadata> keyColumns = 
com.google.common.collect.Sets.newHashSet(tableMetaData.getPrimaryKey());
+                    Set<com.datastax.driver.core.ColumnMetadata> allColumns = 
com.google.common.collect.Sets.newHashSet(tableMetaData.getColumns());
                     boolean isKeyOnlyTable = (keyColumns.size() == 
allColumns.size());
                     //With compact storage
                     if (!isKeyOnlyTable && (keyColumns.size() == 
(allColumns.size() - 1)))
@@ -490,7 +490,7 @@ public class StressProfile implements Serializable
                         com.google.common.collect.Sets.SetView diff = 
com.google.common.collect.Sets.difference(allColumns, keyColumns);
                         for (Object obj : diff)
                         {
-                            ColumnMetadata col = (ColumnMetadata)obj;
+                            com.datastax.driver.core.ColumnMetadata col = 
(com.datastax.driver.core.ColumnMetadata)obj;
                             isKeyOnlyTable = col.getName().isEmpty();
                             break;
                         }
@@ -507,7 +507,7 @@ public class StressProfile implements Serializable
 
                         boolean firstCol = true;
                         boolean firstPred = true;
-                        for (ColumnMetadata c : tableMetaData.getColumns()) {
+                        for (com.datastax.driver.core.ColumnMetadata c : 
tableMetaData.getColumns()) {
 
                             if (keyColumns.contains(c)) {
                                 if (firstPred)
@@ -545,7 +545,7 @@ public class StressProfile implements Serializable
                     {
                         sb.append("INSERT INTO 
").append(quoteIdentifier(tableName)).append(" (");
                         StringBuilder value = new StringBuilder();
-                        for (ColumnMetadata c : tableMetaData.getPrimaryKey())
+                        for (com.datastax.driver.core.ColumnMetadata c : 
tableMetaData.getPrimaryKey())
                         {
                             sb.append(quoteIdentifier(c.getName())).append(", 
");
                             value.append("?, ");
@@ -655,17 +655,17 @@ public class StressProfile implements Serializable
 
         private GeneratorFactory()
         {
-            Set<ColumnMetadata> keyColumns = 
com.google.common.collect.Sets.newHashSet(tableMetaData.getPrimaryKey());
+            Set<com.datastax.driver.core.ColumnMetadata> keyColumns = 
com.google.common.collect.Sets.newHashSet(tableMetaData.getPrimaryKey());
 
-            for (ColumnMetadata metadata : tableMetaData.getPartitionKey())
+            for (com.datastax.driver.core.ColumnMetadata metadata : 
tableMetaData.getPartitionKey())
                 partitionKeys.add(new ColumnInfo(metadata.getName(), 
metadata.getType().getName().toString(),
                                                  
metadata.getType().isCollection() ? 
metadata.getType().getTypeArguments().get(0).getName().toString() : "",
                                                  
columnConfigs.get(metadata.getName())));
-            for (ColumnMetadata metadata : 
tableMetaData.getClusteringColumns())
+            for (com.datastax.driver.core.ColumnMetadata metadata : 
tableMetaData.getClusteringColumns())
                 clusteringColumns.add(new ColumnInfo(metadata.getName(), 
metadata.getType().getName().toString(),
                                                      
metadata.getType().isCollection() ? 
metadata.getType().getTypeArguments().get(0).getName().toString() : "",
                                                      
columnConfigs.get(metadata.getName())));
-            for (ColumnMetadata metadata : tableMetaData.getColumns())
+            for (com.datastax.driver.core.ColumnMetadata metadata : 
tableMetaData.getColumns())
                 if (!keyColumns.contains(metadata))
                     valueColumns.add(new ColumnInfo(metadata.getName(), 
metadata.getType().getName().toString(),
                                                     
metadata.getType().isCollection() ? 
metadata.getType().getTypeArguments().get(0).getName().toString() : "",

http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/tools/stress/src/org/apache/cassandra/stress/settings/OptionCompaction.java
----------------------------------------------------------------------
diff --git 
a/tools/stress/src/org/apache/cassandra/stress/settings/OptionCompaction.java 
b/tools/stress/src/org/apache/cassandra/stress/settings/OptionCompaction.java
index 11d5403..c90a14c 100644
--- 
a/tools/stress/src/org/apache/cassandra/stress/settings/OptionCompaction.java
+++ 
b/tools/stress/src/org/apache/cassandra/stress/settings/OptionCompaction.java
@@ -23,8 +23,8 @@ import java.util.Map;
 
 import com.google.common.base.Function;
 
-import org.apache.cassandra.config.CFMetaData;
 import org.apache.cassandra.exceptions.ConfigurationException;
+import org.apache.cassandra.schema.CompactionParams;
 
 /**
  * For specifying replication options
@@ -67,8 +67,9 @@ class OptionCompaction extends OptionMulti
         {
             try
             {
-                CFMetaData.createCompactionStrategy(name);
-            } catch (ConfigurationException e)
+                CompactionParams.classFromName(name);
+            }
+            catch (ConfigurationException e)
             {
                 throw new IllegalArgumentException("Invalid compaction 
strategy: " + name);
             }

Reply via email to