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());