You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sl...@apache.org on 2014/04/30 11:35:28 UTC
git commit: Preserves CQL metadata when updating table from thrift
Repository: cassandra
Updated Branches:
refs/heads/cassandra-1.2 7f019804c -> 10527498a
Preserves CQL metadata when updating table from thrift
patch by mishail; reviewed by iamaleksey & slebresne for CASSANDRA-6831
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/10527498
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/10527498
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/10527498
Branch: refs/heads/cassandra-1.2
Commit: 10527498a340feb7333b3c2b0252029fe6a840c7
Parents: 7f01980
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Wed Apr 30 11:19:57 2014 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Wed Apr 30 11:19:57 2014 +0200
----------------------------------------------------------------------
CHANGES.txt | 1 +
src/java/org/apache/cassandra/config/CFMetaData.java | 11 -----------
.../org/apache/cassandra/thrift/CassandraServer.java | 10 ++++++++++
3 files changed, 11 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/10527498/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index e8d6a8d..fa9a156 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -14,6 +14,7 @@
* Don't shut MessagingService down when replacing a node (CASSANDRA-6476)
* Always clean up references in SerializingCache (CASSANDRA-6994)
* fix npe when doing -Dcassandra.fd_initial_value_ms (CASSANDRA-6751)
+ * Preserves CQL metadata when updating table from thrift (CASSANDRA-6831)
1.2.16
http://git-wip-us.apache.org/repos/asf/cassandra/blob/10527498/src/java/org/apache/cassandra/config/CFMetaData.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java
index 85c3dcb..9e3ceb7 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -802,17 +802,6 @@ public final class CFMetaData
minCompactionThreshold = cfm.minCompactionThreshold;
maxCompactionThreshold = cfm.maxCompactionThreshold;
- /*
- * Because thrift updates don't know about aliases, we should ignore
- * the case where the new aliases are empty.
- */
- if (!cfm.keyAliases.isEmpty())
- keyAliases = cfm.keyAliases;
- if (!cfm.columnAliases.isEmpty())
- columnAliases = cfm.columnAliases;
- if (cfm.valueAlias != null)
- valueAlias = cfm.valueAlias;
-
bloomFilterFpChance = cfm.bloomFilterFpChance;
caching = cfm.caching;
populateIoCacheOnFlush = cfm.populateIoCacheOnFlush;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/10527498/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 ec7a37d..588f732 100644
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@ -1427,6 +1427,16 @@ public class CassandraServer implements Cassandra.Iface
CFMetaData.applyImplicitDefaults(cf_def);
CFMetaData cfm = CFMetaData.fromThrift(cf_def);
+
+ /*
+ * CASSANDRA-6831: Because thrift updates don't know about aliases,
+ * we should copy them from the original CFM
+ */
+ if (!cf_def.isSetKey_alias())
+ cfm.keyAliases(oldCfm.getKeyAliases());
+ cfm.columnAliases(oldCfm.getColumnAliases());
+ cfm.valueAlias(oldCfm.getValueAlias());
+
CFMetaData.validateCompactionOptions(cfm.compactionStrategyClass, cfm.compactionStrategyOptions, false);
cfm.addDefaultIndexNames();
MigrationManager.announceColumnFamilyUpdate(cfm);