[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cassandra-commits
Subject:    svn commit: r1195695 - in /cassandra/branches/cassandra-0.8: CHANGES.txt
From:       jbellis () apache ! org
Date:       2011-10-31 22:01:01
Message-ID: 20111031220101.3D41F23889DE () eris ! apache ! org
[Download RAW message or body]

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();


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic