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 <[email protected]> Authored: Mon Jul 2 02:48:44 2012 -0500 Committer: Jonathan Ellis <[email protected]> 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
