You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by gd...@apache.org on 2010/07/29 17:58:20 UTC
svn commit: r980491 -
/cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java
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());