expunge row cache post-truncate

patch by jbellis; reviewed by slebresne for CASSANDRA-4940
This commit is contained in:
Jonathan Ellis 2012-11-12 08:27:16 -06:00
parent f32110c6c3
commit a05f6766e2
2 changed files with 9 additions and 0 deletions

View File

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

View File

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