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