You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2012/07/02 10:14:10 UTC

[7/10] git commit: restore pre-CASSANDRA-3862 approach to removing expired tombstones during compaction patch by jbellis; reviewed by slebresne for CASSANDRA-4364

restore pre-CASSANDRA-3862 approach to removing expired tombstones during compaction
patch by jbellis; reviewed by slebresne for CASSANDRA-4364


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

Branch: refs/heads/trunk
Commit: fbb5ec0374e1a5f1b24680f1604b6e9201fb535f
Parents: 8bd1729
Author: Jonathan Ellis <jb...@apache.org>
Authored: Mon Jul 2 02:48:44 2012 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Mon Jul 2 02:48:44 2012 -0500

----------------------------------------------------------------------
 CHANGES.txt                                        |    2 ++
 .../db/compaction/CompactionIterable.java          |   10 +++-------
 2 files changed, 5 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fbb5ec03/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 25d9784..7953c4e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,6 @@
 1.1.3
+ * restore pre-CASSANDRA-3862 approach to removing expired tombstones
+   from row cache during compaction (CASSANDRA-4364)
  * (stress) support for CQL prepared statements (CASSANDRA-3633)
 
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fbb5ec03/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java b/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java
index 0ead533..2b3777d 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java
@@ -86,14 +86,10 @@ public class CompactionIterable extends AbstractCompactionIterable
                     controller.invalidateCachedRow(compactedRow.key);
                     return null;
                 }
-                else
-                {
-                    // If the raw is cached, we call removeDeleted on it to have/ coherent query returns. However it would look
-                    // like some deleted columns lived longer than gc_grace + compaction. This can also free up big amount of
-                    // memory on long running instances
-                    controller.invalidateCachedRow(compactedRow.key);
-                }
 
+                // If the row is cached, we call removeDeleted on at read time it to have coherent query returns,
+                // but if the row is not pushed out of the cache, obsolete tombstones will persist indefinitely.
+                controller.removeDeletedInCache(compactedRow.key);
                 return compactedRow;
             }
             finally