Author: gdusbabek
Date: Thu Jul 29 15:58:19 2010
New Revision: 980491

URL: http://svn.apache.org/viewvc?rev=980491&view=rev
Log:
check for ks/cf keyspace name agreement. Patch by Nate McCall, reviewed by Gary 
Dusbabek. CASSANDRA-1310

Modified:
    cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java?rev=980491&r1=980490&r2=980491&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java 
Thu Jul 29 15:58:19 2010
@@ -832,6 +832,15 @@ public class CassandraServer implements 
         if (!(DatabaseDescriptor.getAuthenticator() instanceof 
AllowAllAuthenticator))
             throw new InvalidRequestException("Unable to create new keyspace 
while authentication is enabled.");
 
+        //generate a meaningful error if the user setup keyspace and/or column 
definition incorrectly
+        for (CfDef cf : ks_def.cf_defs) 
+        {
+            if (!cf.getKeyspace().equals(ks_def.getName()))
+            {
+                throw new InvalidRequestException("CsDef (" + cf.getName() +") 
had a keyspace definition that did not match KsDef");
+            }
+        }
+
         try
         {
             Collection<CFMetaData> cfDefs = new 
ArrayList<CFMetaData>(ks_def.cf_defs.size());


Reply via email to