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 ----------------------------------------------------------------------
