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/11/12 15:28:58 UTC
[5/8] git commit: expunge row cache post-truncate patch by jbellis;
reviewed by slebresne for CASSANDRA-4940
expunge row cache post-truncate
patch by jbellis; reviewed by slebresne for CASSANDRA-4940
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a05f6766
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a05f6766
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a05f6766
Branch: refs/heads/trunk
Commit: a05f6766e292769fde3b7536e5586cf324a1cb17
Parents: f32110c
Author: Jonathan Ellis <jb...@apache.org>
Authored: Mon Nov 12 08:27:16 2012 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Mon Nov 12 08:27:16 2012 -0600
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/db/compaction/CompactionManager.java | 8 ++++++++
2 files changed, 9 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a05f6766/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 2f945bb..088daa7 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
1.1.7
+ * expunge row cache post-truncate (CASSANDRA-4940)
* remove IAuthority2 (CASSANDRA-4875)
* add get[Row|Key]CacheEntries to CacheServiceMBean (CASSANDRA-4859)
* fix get_paged_slice to wrap to next row correctly (CASSANDRA-4816)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a05f6766/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index fcdf45b..edfea0a 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -32,6 +32,7 @@ import javax.management.MBeanServer;
import javax.management.ObjectName;
import org.apache.cassandra.cache.AutoSavingCache;
+import org.apache.cassandra.cache.RowCacheKey;
import org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor;
import org.apache.cassandra.concurrent.NamedThreadFactory;
import org.apache.cassandra.config.CFMetaData;
@@ -48,6 +49,7 @@ import org.apache.cassandra.io.sstable.*;
import org.apache.cassandra.io.util.FileUtils;
import org.apache.cassandra.io.util.RandomAccessReader;
import org.apache.cassandra.service.AntiEntropyService;
+import org.apache.cassandra.service.CacheService;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.*;
import org.slf4j.Logger;
@@ -813,6 +815,12 @@ public class CompactionManager implements CompactionManagerMBean
for (SecondaryIndex index : main.indexManager.getIndexes())
index.truncate(truncatedAt);
+
+ for (RowCacheKey key : CacheService.instance.rowCache.getKeySet())
+ {
+ if (key.cfId == main.metadata.cfId)
+ CacheService.instance.rowCache.remove(key);
+ }
}
finally
{