Merge branch 'cassandra-2.2' into cassandra-3.0

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

Branch: refs/heads/trunk
Commit: 6e5d16b373a53dabb0419a5b5a061a93a690d277
Parents: 90661a3 93745c0
Author: Robert Stupp <[email protected]>
Authored: Thu Sep 17 23:24:14 2015 +0200
Committer: Robert Stupp <[email protected]>
Committed: Thu Sep 17 23:24:14 2015 +0200

----------------------------------------------------------------------
 CHANGES.txt                                     |  2 +-
 .../apache/cassandra/cache/AutoSavingCache.java | 50 ++++++++++++++------
 .../apache/cassandra/cql3/KeyCacheCqlTest.java  |  1 +
 3 files changed, 37 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6e5d16b3/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 0cbe919,59a50a5..6a630fd
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,19 -1,15 +1,19 @@@
 -2.2.2
 +3.0.0-rc1
 + * Improve MV schema representation (CASSANDRA-9921)
 + * Add flag to enable/disable coordinator batchlog for MV writes 
(CASSANDRA-10230)
 + * Update cqlsh COPY for new internal driver serialization interface 
(CASSANDRA-10318)
 + * Give index implementations more control over rebuild operations 
(CASSANDRA-10312)
 + * Update index file format (CASSANDRA-10314)
 + * Add "shadowable" row tombstones to deal with mv timestamp issues 
(CASSANDRA-10261)
 + * CFS.loadNewSSTables() broken for pre-3.0 sstables
 + * Cache selected index in read command to reduce lookups (CASSANDRA-10215)
 + * Small optimizations of sstable index serialization (CASSANDRA-10232)
 + * Support for both encrypted and unencrypted native transport connections 
(CASSANDRA-9590)
 +Merged from 2.2:
   * Defer default role manager setup until all nodes are on 2.2+ 
(CASSANDRA-9761)
 - * Cancel transaction for sstables we wont redistribute index summary
 -   for (CASSANDRA-10270)
 - * Handle missing RoleManager in config after upgrade to 2.2 
(CASSANDRA-10209) 
 - * Retry snapshot deletion after compaction and gc on Windows 
(CASSANDRA-10222)
 - * Fix failure to start with space in directory path on Windows 
(CASSANDRA-10239)
 - * Fix repair hang when snapshot failed (CASSANDRA-10057)
 - * Fall back to 1/4 commitlog volume for commitlog_total_space on small disks
 -   (CASSANDRA-10199)
 + * Handle missing RoleManager in config after upgrade to 2.2 (CASSANDRA-10209)
  Merged from 2.1:
-  * Fix cache handling of 2i and base tables (CASSANDRA-10155)
+  * Fix cache handling of 2i and base tables (CASSANDRA-10155, 10359)
   * Fix NPE in nodetool compactionhistory (CASSANDRA-9758)
   * (Pig) support BulkOutputFormat as a URL parameter (CASSANDRA-7410)
   * BATCH statement is broken in cqlsh (CASSANDRA-10272)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6e5d16b3/src/java/org/apache/cassandra/cache/AutoSavingCache.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/cache/AutoSavingCache.java
index 4558bb7,48d60b7..58ddc2c
--- a/src/java/org/apache/cassandra/cache/AutoSavingCache.java
+++ b/src/java/org/apache/cassandra/cache/AutoSavingCache.java
@@@ -187,7 -185,16 +187,16 @@@ public class AutoSavingCache<K extends 
              try
              {
                  logger.info(String.format("reading saved cache %s", 
dataPath));
 -                in = new DataInputStream(new LengthAvailableInputStream(new 
BufferedInputStream(streamFactory.getInputStream(dataPath, crcPath)), 
dataPath.length()));
 +                in = new DataInputStreamPlus(new 
LengthAvailableInputStream(new 
BufferedInputStream(streamFactory.getInputStream(dataPath, crcPath)), 
dataPath.length()));
+ 
+                 //Check the schema has not changed since CFs are looked up by 
name which is ambiguous
+                 UUID schemaVersion = new UUID(in.readLong(), in.readLong());
+                 if (!schemaVersion.equals(Schema.instance.getVersion()))
+                     throw new RuntimeException("Cache schema version "
+                                               + schemaVersion.toString()
+                                               + " does not match current 
schema version "
+                                               + Schema.instance.getVersion());
+ 
                  ArrayDeque<Future<Pair<K, V>>> futures = new 
ArrayDeque<Future<Pair<K, V>>>();
                  while (in.available() > 0)
                  {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6e5d16b3/test/unit/org/apache/cassandra/cql3/KeyCacheCqlTest.java
----------------------------------------------------------------------

Reply via email to