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 2011/10/31 23:01:01 UTC
svn commit: r1195695 - in /cassandra/branches/cassandra-0.8: CHANGES.txt
src/java/org/apache/cassandra/db/compaction/CompactionManager.java
Author: jbellis
Date: Mon Oct 31 22:01:00 2011
New Revision: 1195695
URL: http://svn.apache.org/viewvc?rev=1195695&view=rev
Log:
acquire compactionlock during truncate
patch by jbellis; reviewed by slebresne for CASSANDRA-3399
Modified:
cassandra/branches/cassandra-0.8/CHANGES.txt
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1195695&r1=1195694&r2=1195695&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Mon Oct 31 22:01:00 2011
@@ -1,3 +1,7 @@
+0.8.9
+ * acquire compactionlock during truncate (CASSANDRA-3399)
+
+
0.8.8
* fix truncate allowing data to be replayed post-restart (CASSANDRA-3297)
* make iwriter final in IndexWriter to avoid NPE (CASSANDRA-2863)
Modified: cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/compaction/CompactionManager.java?rev=1195695&r1=1195694&r2=1195695&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/compaction/CompactionManager.java (original)
+++ cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/compaction/CompactionManager.java Mon Oct 31 22:01:00 2011
@@ -1169,15 +1169,23 @@ public class CompactionManager implement
{
public void runMayThrow() throws InterruptedException, IOException
{
- for (ColumnFamilyStore cfs : main.concatWithIndexes())
+ compactionLock.writeLock().lock();
+ try
{
- List<SSTableReader> truncatedSSTables = new ArrayList<SSTableReader>();
- for (SSTableReader sstable : cfs.getSSTables())
+ for (ColumnFamilyStore cfs : main.concatWithIndexes())
{
- if (!sstable.newSince(truncatedAt))
- truncatedSSTables.add(sstable);
+ List<SSTableReader> truncatedSSTables = new ArrayList<SSTableReader>();
+ for (SSTableReader sstable : cfs.getSSTables())
+ {
+ if (!sstable.newSince(truncatedAt))
+ truncatedSSTables.add(sstable);
+ }
+ cfs.markCompacted(truncatedSSTables);
}
- cfs.markCompacted(truncatedSSTables);
+ }
+ finally
+ {
+ compactionLock.writeLock().unlock();
}
main.invalidateRowCache();