cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From slebre...@apache.org
Subject [1/2] git commit: Disallow updating CQL3 tables from thrift
Date Mon, 18 Nov 2013 16:18:36 GMT
Updated Branches:
  refs/heads/cassandra-1.2 a301ea142 -> 0ffa5c20a


Disallow updating CQL3 tables from thrift

patch by slebresne; reviewed by jbellis for CASSANDRA-6370


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/34645c37
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/34645c37
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/34645c37

Branch: refs/heads/cassandra-1.2
Commit: 34645c37d1e47b60cb20d3e3cd0e0376e8f92ae5
Parents: a301ea1
Author: Sylvain Lebresne <sylvain@datastax.com>
Authored: Mon Nov 18 17:16:11 2013 +0100
Committer: Sylvain Lebresne <sylvain@datastax.com>
Committed: Mon Nov 18 17:16:11 2013 +0100

----------------------------------------------------------------------
 CHANGES.txt                                               | 1 +
 NEWS.txt                                                  | 9 +++++++++
 src/java/org/apache/cassandra/thrift/CassandraServer.java | 3 +++
 3 files changed, 13 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/34645c37/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index a438f15..29e87d8 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -21,6 +21,7 @@
  * Fix AssertionError when doing set element deletion (CASSANDRA-6341)
  * Make CL code for the native protocol match the one in C* 2.0
    (CASSANDRA-6347)
+ * Disallow altering CQL3 table from thrift (CASSANDRA-6370)
 
 
 1.2.11

http://git-wip-us.apache.org/repos/asf/cassandra/blob/34645c37/NEWS.txt
----------------------------------------------------------------------
diff --git a/NEWS.txt b/NEWS.txt
index d803f02..915729a 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -14,6 +14,15 @@ restore snapshots created with the previous major version using the
 using the provided 'sstableupgrade' tool.
 
 
+1.2.12
+======
+
+Upgrading
+---------
+    - Altering CQL3 tables from Thrift is now rejected as this had the
+      potential of corrupting the schema. You should use cqlsh otherwise.
+
+
 1.2.11
 ======
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/34645c37/src/java/org/apache/cassandra/thrift/CassandraServer.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/thrift/CassandraServer.java b/src/java/org/apache/cassandra/thrift/CassandraServer.java
index 9063be1..5b9fbfd 100644
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@ -1407,6 +1407,9 @@ public class CassandraServer implements Cassandra.Iface
             if (oldCfm == null)
                 throw new InvalidRequestException("Could not find column family definition
to modify.");
 
+            if (!oldCfm.isThriftIncompatible())
+                throw new InvalidRequestException("Cannot modify CQL3 table " + oldCfm.cfName
+ " as it may break the schema. You should use cqlsh to modify CQL3 tables instead.");
+
             state().hasColumnFamilyAccess(cf_def.keyspace, cf_def.name, Permission.ALTER);
 
             CFMetaData.applyImplicitDefaults(cf_def);


Mime
View raw message