You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sn...@apache.org on 2015/03/31 11:22:59 UTC

[1/6] cassandra git commit: java.lang.AssertionError when reading saved cache

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 1e09482a3 -> c94da6c63
  refs/heads/cassandra-2.1 3575cd356 -> a2b66bf10
  refs/heads/trunk f91cfc7e4 -> 8e808aed6


java.lang.AssertionError when reading saved cache

Patch by Benedict Elliott Smith; Reviewed by Robert Stupp for CASSANDRA-8740


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

Branch: refs/heads/cassandra-2.0
Commit: c94da6c63e9dc2b7059bb69e745ab769fcea536f
Parents: 1e09482
Author: Benedict Elliott Smith <be...@apache.org>
Authored: Tue Mar 31 11:17:32 2015 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Tue Mar 31 11:17:58 2015 +0200

----------------------------------------------------------------------
 CHANGES.txt                                              | 1 +
 src/java/org/apache/cassandra/cache/AutoSavingCache.java | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c94da6c6/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index bab9421..ed40a78 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.14:
+ * java.lang.AssertionError when reading saved cache (CASSANDRA-8740)
  * "disk full" when running cleanup (CASSANDRA-9036)
  * Make PasswordAuthenticator number of hashing rounds configurable (CASSANDRA-8085)
  * Lower logging level from ERROR to DEBUG when a scheduled schema pull

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c94da6c6/src/java/org/apache/cassandra/cache/AutoSavingCache.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cache/AutoSavingCache.java b/src/java/org/apache/cassandra/cache/AutoSavingCache.java
index 64234e2..987535f 100644
--- a/src/java/org/apache/cassandra/cache/AutoSavingCache.java
+++ b/src/java/org/apache/cassandra/cache/AutoSavingCache.java
@@ -127,7 +127,8 @@ public class AutoSavingCache<K extends CacheKey, V> extends InstrumentingCache<K
                 for (Future<Pair<K, V>> future : futures)
                 {
                     Pair<K, V> entry = future.get();
-                    put(entry.left, entry.right);
+                    if (entry != null && entry.right != null)
+                    	put(entry.left, entry.right);
                 }
             }
             catch (Exception e)


[2/6] cassandra git commit: java.lang.AssertionError when reading saved cache

Posted by sn...@apache.org.
java.lang.AssertionError when reading saved cache

Patch by Benedict Elliott Smith; Reviewed by Robert Stupp for CASSANDRA-8740


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

Branch: refs/heads/cassandra-2.1
Commit: c94da6c63e9dc2b7059bb69e745ab769fcea536f
Parents: 1e09482
Author: Benedict Elliott Smith <be...@apache.org>
Authored: Tue Mar 31 11:17:32 2015 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Tue Mar 31 11:17:58 2015 +0200

----------------------------------------------------------------------
 CHANGES.txt                                              | 1 +
 src/java/org/apache/cassandra/cache/AutoSavingCache.java | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c94da6c6/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index bab9421..ed40a78 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.14:
+ * java.lang.AssertionError when reading saved cache (CASSANDRA-8740)
  * "disk full" when running cleanup (CASSANDRA-9036)
  * Make PasswordAuthenticator number of hashing rounds configurable (CASSANDRA-8085)
  * Lower logging level from ERROR to DEBUG when a scheduled schema pull

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c94da6c6/src/java/org/apache/cassandra/cache/AutoSavingCache.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cache/AutoSavingCache.java b/src/java/org/apache/cassandra/cache/AutoSavingCache.java
index 64234e2..987535f 100644
--- a/src/java/org/apache/cassandra/cache/AutoSavingCache.java
+++ b/src/java/org/apache/cassandra/cache/AutoSavingCache.java
@@ -127,7 +127,8 @@ public class AutoSavingCache<K extends CacheKey, V> extends InstrumentingCache<K
                 for (Future<Pair<K, V>> future : futures)
                 {
                     Pair<K, V> entry = future.get();
-                    put(entry.left, entry.right);
+                    if (entry != null && entry.right != null)
+                    	put(entry.left, entry.right);
                 }
             }
             catch (Exception e)


[4/6] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

Posted by sn...@apache.org.
Merge branch 'cassandra-2.0' into cassandra-2.1


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

Branch: refs/heads/trunk
Commit: a2b66bf1066a385181a56390b7859a0694b5756d
Parents: 3575cd3 c94da6c
Author: Robert Stupp <sn...@snazy.de>
Authored: Tue Mar 31 11:21:15 2015 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Tue Mar 31 11:21:15 2015 +0200

----------------------------------------------------------------------
 CHANGES.txt                                              | 1 +
 src/java/org/apache/cassandra/cache/AutoSavingCache.java | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a2b66bf1/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 1e86fb7,ed40a78..e3b5363
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,70 -1,7 +1,71 @@@
 -2.0.14:
 +2.1.4
 + * Buffer bloom filter serialization (CASSANDRA-9066)
 + * Fix anti-compaction target bloom filter size (CASSANDRA-9060)
 + * Make FROZEN and TUPLE unreserved keywords in CQL (CASSANDRA-9047)
 + * Prevent AssertionError from SizeEstimatesRecorder (CASSANDRA-9034)
 + * Avoid overwriting index summaries for sstables with an older format that
 +   does not support downsampling; rebuild summaries on startup when this
 +   is detected (CASSANDRA-8993)
 + * Fix potential data loss in CompressedSequentialWriter (CASSANDRA-8949)
 + * Make PasswordAuthenticator number of hashing rounds configurable (CASSANDRA-8085)
 + * Fix AssertionError when binding nested collections in DELETE (CASSANDRA-8900)
 + * Check for overlap with non-early sstables in LCS (CASSANDRA-8739)
 + * Only calculate max purgable timestamp if we have to (CASSANDRA-8914)
 + * (cqlsh) Greatly improve performance of COPY FROM (CASSANDRA-8225)
 + * IndexSummary effectiveIndexInterval is now a guideline, not a rule (CASSANDRA-8993)
 + * Use correct bounds for page cache eviction of compressed files (CASSANDRA-8746)
 + * SSTableScanner enforces its bounds (CASSANDRA-8946)
 + * Cleanup cell equality (CASSANDRA-8947)
 + * Introduce intra-cluster message coalescing (CASSANDRA-8692)
 + * DatabaseDescriptor throws NPE when rpc_interface is used (CASSANDRA-8839)
 + * Don't check if an sstable is live for offline compactions (CASSANDRA-8841)
 + * Don't set clientMode in SSTableLoader (CASSANDRA-8238)
 + * Fix SSTableRewriter with disabled early open (CASSANDRA-8535)
 + * Allow invalidating permissions and cache time (CASSANDRA-8722)
 + * Log warning when queries that will require ALLOW FILTERING in Cassandra 3.0
 +   are executed (CASSANDRA-8418)
 + * Fix cassandra-stress so it respects the CL passed in user mode (CASSANDRA-8948)
 + * Fix rare NPE in ColumnDefinition#hasIndexOption() (CASSANDRA-8786)
 + * cassandra-stress reports per-operation statistics, plus misc (CASSANDRA-8769)
 + * Add SimpleDate (cql date) and Time (cql time) types (CASSANDRA-7523)
 + * Use long for key count in cfstats (CASSANDRA-8913)
 + * Make SSTableRewriter.abort() more robust to failure (CASSANDRA-8832)
 + * Remove cold_reads_to_omit from STCS (CASSANDRA-8860)
 + * Make EstimatedHistogram#percentile() use ceil instead of floor (CASSANDRA-8883)
 + * Fix top partitions reporting wrong cardinality (CASSANDRA-8834)
 + * Fix rare NPE in KeyCacheSerializer (CASSANDRA-8067)
 + * Pick sstables for validation as late as possible inc repairs (CASSANDRA-8366)
 + * Fix commitlog getPendingTasks to not increment (CASSANDRA-8856)
 + * Fix parallelism adjustment in range and secondary index queries
 +   when the first fetch does not satisfy the limit (CASSANDRA-8856)
 + * Check if the filtered sstables is non-empty in STCS (CASSANDRA-8843)
 + * Upgrade java-driver used for cassandra-stress (CASSANDRA-8842)
 + * Fix CommitLog.forceRecycleAllSegments() memory access error (CASSANDRA-8812)
 + * Improve assertions in Memory (CASSANDRA-8792)
 + * Fix SSTableRewriter cleanup (CASSANDRA-8802)
 + * Introduce SafeMemory for CompressionMetadata.Writer (CASSANDRA-8758)
 + * 'nodetool info' prints exception against older node (CASSANDRA-8796)
 + * Ensure SSTableReader.last corresponds exactly with the file end (CASSANDRA-8750)
 + * Make SSTableWriter.openEarly more robust and obvious (CASSANDRA-8747)
 + * Enforce SSTableReader.first/last (CASSANDRA-8744)
 + * Cleanup SegmentedFile API (CASSANDRA-8749)
 + * Avoid overlap with early compaction replacement (CASSANDRA-8683)
 + * Safer Resource Management++ (CASSANDRA-8707)
 + * Write partition size estimates into a system table (CASSANDRA-7688)
 + * cqlsh: Fix keys() and full() collection indexes in DESCRIBE output
 +   (CASSANDRA-8154)
 + * Show progress of streaming in nodetool netstats (CASSANDRA-8886)
 + * IndexSummaryBuilder utilises offheap memory, and shares data between
 +   each IndexSummary opened from it (CASSANDRA-8757)
 + * markCompacting only succeeds if the exact SSTableReader instances being 
 +   marked are in the live set (CASSANDRA-8689)
 + * cassandra-stress support for varint (CASSANDRA-8882)
 + * Fix Adler32 digest for compressed sstables (CASSANDRA-8778)
 + * Add nodetool statushandoff/statusbackup (CASSANDRA-8912)
 + * Use stdout for progress and stats in sstableloader (CASSANDRA-8982)
 +Merged from 2.0:
+  * java.lang.AssertionError when reading saved cache (CASSANDRA-8740)
   * "disk full" when running cleanup (CASSANDRA-9036)
 - * Make PasswordAuthenticator number of hashing rounds configurable (CASSANDRA-8085)
   * Lower logging level from ERROR to DEBUG when a scheduled schema pull
     cannot be completed due to a node being down (CASSANDRA-9032)
   * Fix MOVED_NODE client event (CASSANDRA-8516)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a2b66bf1/src/java/org/apache/cassandra/cache/AutoSavingCache.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/cache/AutoSavingCache.java
index 2117eb8,987535f..98e3e59
--- a/src/java/org/apache/cassandra/cache/AutoSavingCache.java
+++ b/src/java/org/apache/cassandra/cache/AutoSavingCache.java
@@@ -159,8 -127,8 +159,8 @@@ public class AutoSavingCache<K extends 
                  for (Future<Pair<K, V>> future : futures)
                  {
                      Pair<K, V> entry = future.get();
-                     if (entry != null)
+                     if (entry != null && entry.right != null)
 -                    	put(entry.left, entry.right);
 +                        put(entry.left, entry.right);
                  }
              }
              catch (Exception e)


[5/6] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

Posted by sn...@apache.org.
Merge branch 'cassandra-2.0' into cassandra-2.1


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

Branch: refs/heads/cassandra-2.1
Commit: a2b66bf1066a385181a56390b7859a0694b5756d
Parents: 3575cd3 c94da6c
Author: Robert Stupp <sn...@snazy.de>
Authored: Tue Mar 31 11:21:15 2015 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Tue Mar 31 11:21:15 2015 +0200

----------------------------------------------------------------------
 CHANGES.txt                                              | 1 +
 src/java/org/apache/cassandra/cache/AutoSavingCache.java | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a2b66bf1/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 1e86fb7,ed40a78..e3b5363
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,70 -1,7 +1,71 @@@
 -2.0.14:
 +2.1.4
 + * Buffer bloom filter serialization (CASSANDRA-9066)
 + * Fix anti-compaction target bloom filter size (CASSANDRA-9060)
 + * Make FROZEN and TUPLE unreserved keywords in CQL (CASSANDRA-9047)
 + * Prevent AssertionError from SizeEstimatesRecorder (CASSANDRA-9034)
 + * Avoid overwriting index summaries for sstables with an older format that
 +   does not support downsampling; rebuild summaries on startup when this
 +   is detected (CASSANDRA-8993)
 + * Fix potential data loss in CompressedSequentialWriter (CASSANDRA-8949)
 + * Make PasswordAuthenticator number of hashing rounds configurable (CASSANDRA-8085)
 + * Fix AssertionError when binding nested collections in DELETE (CASSANDRA-8900)
 + * Check for overlap with non-early sstables in LCS (CASSANDRA-8739)
 + * Only calculate max purgable timestamp if we have to (CASSANDRA-8914)
 + * (cqlsh) Greatly improve performance of COPY FROM (CASSANDRA-8225)
 + * IndexSummary effectiveIndexInterval is now a guideline, not a rule (CASSANDRA-8993)
 + * Use correct bounds for page cache eviction of compressed files (CASSANDRA-8746)
 + * SSTableScanner enforces its bounds (CASSANDRA-8946)
 + * Cleanup cell equality (CASSANDRA-8947)
 + * Introduce intra-cluster message coalescing (CASSANDRA-8692)
 + * DatabaseDescriptor throws NPE when rpc_interface is used (CASSANDRA-8839)
 + * Don't check if an sstable is live for offline compactions (CASSANDRA-8841)
 + * Don't set clientMode in SSTableLoader (CASSANDRA-8238)
 + * Fix SSTableRewriter with disabled early open (CASSANDRA-8535)
 + * Allow invalidating permissions and cache time (CASSANDRA-8722)
 + * Log warning when queries that will require ALLOW FILTERING in Cassandra 3.0
 +   are executed (CASSANDRA-8418)
 + * Fix cassandra-stress so it respects the CL passed in user mode (CASSANDRA-8948)
 + * Fix rare NPE in ColumnDefinition#hasIndexOption() (CASSANDRA-8786)
 + * cassandra-stress reports per-operation statistics, plus misc (CASSANDRA-8769)
 + * Add SimpleDate (cql date) and Time (cql time) types (CASSANDRA-7523)
 + * Use long for key count in cfstats (CASSANDRA-8913)
 + * Make SSTableRewriter.abort() more robust to failure (CASSANDRA-8832)
 + * Remove cold_reads_to_omit from STCS (CASSANDRA-8860)
 + * Make EstimatedHistogram#percentile() use ceil instead of floor (CASSANDRA-8883)
 + * Fix top partitions reporting wrong cardinality (CASSANDRA-8834)
 + * Fix rare NPE in KeyCacheSerializer (CASSANDRA-8067)
 + * Pick sstables for validation as late as possible inc repairs (CASSANDRA-8366)
 + * Fix commitlog getPendingTasks to not increment (CASSANDRA-8856)
 + * Fix parallelism adjustment in range and secondary index queries
 +   when the first fetch does not satisfy the limit (CASSANDRA-8856)
 + * Check if the filtered sstables is non-empty in STCS (CASSANDRA-8843)
 + * Upgrade java-driver used for cassandra-stress (CASSANDRA-8842)
 + * Fix CommitLog.forceRecycleAllSegments() memory access error (CASSANDRA-8812)
 + * Improve assertions in Memory (CASSANDRA-8792)
 + * Fix SSTableRewriter cleanup (CASSANDRA-8802)
 + * Introduce SafeMemory for CompressionMetadata.Writer (CASSANDRA-8758)
 + * 'nodetool info' prints exception against older node (CASSANDRA-8796)
 + * Ensure SSTableReader.last corresponds exactly with the file end (CASSANDRA-8750)
 + * Make SSTableWriter.openEarly more robust and obvious (CASSANDRA-8747)
 + * Enforce SSTableReader.first/last (CASSANDRA-8744)
 + * Cleanup SegmentedFile API (CASSANDRA-8749)
 + * Avoid overlap with early compaction replacement (CASSANDRA-8683)
 + * Safer Resource Management++ (CASSANDRA-8707)
 + * Write partition size estimates into a system table (CASSANDRA-7688)
 + * cqlsh: Fix keys() and full() collection indexes in DESCRIBE output
 +   (CASSANDRA-8154)
 + * Show progress of streaming in nodetool netstats (CASSANDRA-8886)
 + * IndexSummaryBuilder utilises offheap memory, and shares data between
 +   each IndexSummary opened from it (CASSANDRA-8757)
 + * markCompacting only succeeds if the exact SSTableReader instances being 
 +   marked are in the live set (CASSANDRA-8689)
 + * cassandra-stress support for varint (CASSANDRA-8882)
 + * Fix Adler32 digest for compressed sstables (CASSANDRA-8778)
 + * Add nodetool statushandoff/statusbackup (CASSANDRA-8912)
 + * Use stdout for progress and stats in sstableloader (CASSANDRA-8982)
 +Merged from 2.0:
+  * java.lang.AssertionError when reading saved cache (CASSANDRA-8740)
   * "disk full" when running cleanup (CASSANDRA-9036)
 - * Make PasswordAuthenticator number of hashing rounds configurable (CASSANDRA-8085)
   * Lower logging level from ERROR to DEBUG when a scheduled schema pull
     cannot be completed due to a node being down (CASSANDRA-9032)
   * Fix MOVED_NODE client event (CASSANDRA-8516)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a2b66bf1/src/java/org/apache/cassandra/cache/AutoSavingCache.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/cache/AutoSavingCache.java
index 2117eb8,987535f..98e3e59
--- a/src/java/org/apache/cassandra/cache/AutoSavingCache.java
+++ b/src/java/org/apache/cassandra/cache/AutoSavingCache.java
@@@ -159,8 -127,8 +159,8 @@@ public class AutoSavingCache<K extends 
                  for (Future<Pair<K, V>> future : futures)
                  {
                      Pair<K, V> entry = future.get();
-                     if (entry != null)
+                     if (entry != null && entry.right != null)
 -                    	put(entry.left, entry.right);
 +                        put(entry.left, entry.right);
                  }
              }
              catch (Exception e)


[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk

Posted by sn...@apache.org.
Merge branch 'cassandra-2.1' into trunk


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

Branch: refs/heads/trunk
Commit: 8e808aed6f181b5551eed72b33dbe50a5c51b23f
Parents: f91cfc7 a2b66bf
Author: Robert Stupp <sn...@snazy.de>
Authored: Tue Mar 31 11:22:19 2015 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Tue Mar 31 11:22:27 2015 +0200

----------------------------------------------------------------------
 CHANGES.txt                                              | 1 +
 src/java/org/apache/cassandra/cache/AutoSavingCache.java | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8e808aed/CHANGES.txt
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8e808aed/src/java/org/apache/cassandra/cache/AutoSavingCache.java
----------------------------------------------------------------------


[3/6] cassandra git commit: java.lang.AssertionError when reading saved cache

Posted by sn...@apache.org.
java.lang.AssertionError when reading saved cache

Patch by Benedict Elliott Smith; Reviewed by Robert Stupp for CASSANDRA-8740


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

Branch: refs/heads/trunk
Commit: c94da6c63e9dc2b7059bb69e745ab769fcea536f
Parents: 1e09482
Author: Benedict Elliott Smith <be...@apache.org>
Authored: Tue Mar 31 11:17:32 2015 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Tue Mar 31 11:17:58 2015 +0200

----------------------------------------------------------------------
 CHANGES.txt                                              | 1 +
 src/java/org/apache/cassandra/cache/AutoSavingCache.java | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c94da6c6/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index bab9421..ed40a78 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.14:
+ * java.lang.AssertionError when reading saved cache (CASSANDRA-8740)
  * "disk full" when running cleanup (CASSANDRA-9036)
  * Make PasswordAuthenticator number of hashing rounds configurable (CASSANDRA-8085)
  * Lower logging level from ERROR to DEBUG when a scheduled schema pull

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c94da6c6/src/java/org/apache/cassandra/cache/AutoSavingCache.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cache/AutoSavingCache.java b/src/java/org/apache/cassandra/cache/AutoSavingCache.java
index 64234e2..987535f 100644
--- a/src/java/org/apache/cassandra/cache/AutoSavingCache.java
+++ b/src/java/org/apache/cassandra/cache/AutoSavingCache.java
@@ -127,7 +127,8 @@ public class AutoSavingCache<K extends CacheKey, V> extends InstrumentingCache<K
                 for (Future<Pair<K, V>> future : futures)
                 {
                     Pair<K, V> entry = future.get();
-                    put(entry.left, entry.right);
+                    if (entry != null && entry.right != null)
+                    	put(entry.left, entry.right);
                 }
             }
             catch (Exception e)