You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by al...@apache.org on 2017/05/31 16:16:38 UTC

[2/6] cassandra git commit: Fix schema digest mismatch during rolling upgrades from versions before 3.0.13

Fix schema digest mismatch during rolling upgrades from versions before 3.0.13

patch by Jay Zhuang; reviewed by Stefania Alborghetti for
CASSANDRA-13559


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

Branch: refs/heads/cassandra-3.11
Commit: f96a5dc5840c7d1fea99aa450543af8e889c161e
Parents: 80b7997
Author: Jay Zhuang <ja...@yahoo.com>
Authored: Wed May 31 14:35:37 2017 +0800
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Wed May 31 17:06:41 2017 +0100

----------------------------------------------------------------------
 CHANGES.txt                                              | 5 ++++-
 src/java/org/apache/cassandra/schema/SchemaKeyspace.java | 9 ++++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f96a5dc5/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 6bdb283..c75ca87 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.14
+ * Fix schema digest mismatch during rolling upgrades from versions before 3.0.12 (CASSANDRA-13559)
  * Upgrade JNA version to 4.4.0 (CASSANDRA-13072)
  * Interned ColumnIdentifiers should use minimal ByteBuffers (CASSANDRA-13533)
  * ReverseIndexedReader may drop rows during 2.1 to 3.0 upgrade (CASSANDRA-13525)
@@ -11,10 +12,11 @@
  * Fail repair if insufficient responses received (CASSANDRA-13397)
  * Fix SSTableLoader fail when the loaded table contains dropped columns (CASSANDRA-13276)
  * Avoid name clashes in CassandraIndexTest (CASSANDRA-13427)
- * Handling partially written hint files (CASSANDRA-12728) 
+ * Handling partially written hint files (CASSANDRA-12728)
  * Interrupt replaying hints on decommission (CASSANDRA-13308)
  * Fix schema version calculation for rolling upgrades (CASSANDRA-13441)
 
+
 3.0.13
  * Make reading of range tombstones more reliable (CASSANDRA-12811)
  * Fix startup problems due to schema tables not completely flushed (CASSANDRA-12213)
@@ -50,6 +52,7 @@ Merged from 2.1:
  * Fix 2ndary index queries on partition keys for tables with static columns CASSANDRA-13147
  * Fix ParseError unhashable type list in cqlsh copy from (CASSANDRA-13364)
 
+
 3.0.12
  * Prevent data loss on upgrade 2.1 - 3.0 by adding component separator to LogRecord absolute path (CASSANDRA-13294)
  * Improve testing on macOS by eliminating sigar logging (CASSANDRA-13233)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f96a5dc5/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
index e860c59..8719b2f 100644
--- a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
+++ b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
@@ -97,6 +97,13 @@ public final class SchemaKeyspace
     public static final ImmutableList<String> ALL =
         ImmutableList.of(COLUMNS, DROPPED_COLUMNS, TRIGGERS, TYPES, FUNCTIONS, AGGREGATES, INDEXES, TABLES, VIEWS, KEYSPACES);
 
+    /**
+     * Until we upgrade the messaging service version, that is version 4.0, we must preserve the old order (before CASSANDRA-12213)
+     * for digest calculations, otherwise the nodes will never agree on the schema during a rolling upgrade, see CASSANDRA-13559.
+     */
+    public static final ImmutableList<String> ALL_FOR_DIGEST =
+        ImmutableList.of(KEYSPACES, TABLES, COLUMNS, DROPPED_COLUMNS, TRIGGERS, VIEWS, TYPES, FUNCTIONS, AGGREGATES, INDEXES);
+
     private static final CFMetaData Keyspaces =
         compile(KEYSPACES,
                 "keyspace definitions",
@@ -308,7 +315,7 @@ public final class SchemaKeyspace
             throw new RuntimeException(e);
         }
 
-        for (String table : ALL)
+        for (String table : ALL_FOR_DIGEST)
         {
             // Due to CASSANDRA-11050 we want to exclude DROPPED_COLUMNS for schema digest computation. We can and
             // should remove that in the next major release (so C* 4.0).


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org