Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id BEEA710A0F for ; Wed, 30 Apr 2014 09:35:38 +0000 (UTC) Received: (qmail 15580 invoked by uid 500); 30 Apr 2014 09:35:38 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 15357 invoked by uid 500); 30 Apr 2014 09:35:32 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 14904 invoked by uid 99); 30 Apr 2014 09:35:29 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 30 Apr 2014 09:35:29 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id F2D38815014; Wed, 30 Apr 2014 09:35:28 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: slebresne@apache.org To: commits@cassandra.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: git commit: Preserves CQL metadata when updating table from thrift Date: Wed, 30 Apr 2014 09:35:28 +0000 (UTC) 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 Authored: Wed Apr 30 11:19:57 2014 +0200 Committer: Sylvain Lebresne 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);