Author: slebresne
Date: Mon Dec 19 09:24:05 2011
New Revision: 1220665

URL: http://svn.apache.org/viewvc?rev=1220665&view=rev
Log:
Avoid creating empty and non-cleaned write during compaction
patch by slebresne; reviewed by jbellis for CASSANDRA-3616

Modified:
    cassandra/branches/cassandra-1.0/CHANGES.txt
    
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/CompactionTask.java

Modified: cassandra/branches/cassandra-1.0/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/CHANGES.txt?rev=1220665&r1=1220664&r2=1220665&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0/CHANGES.txt (original)
+++ cassandra/branches/cassandra-1.0/CHANGES.txt Mon Dec 19 09:24:05 2011
@@ -3,6 +3,7 @@
  * more efficient allocation of small bloom filters (CASSANDRA-3618)
  * CLibrary.createHardLinkWithExec() to check for errors (CASSANDRA-3101)
  * fsync the directory after new sstable or commitlog segment are created 
(CASSANDRA-3250)
+ * Avoid creating empty and non cleaned writer during compaction 
(CASSANDRA-3616)
 Merged from 0.8:
  * prevent new nodes from thinking down nodes are up forever (CASSANDRA-3626)
 

Modified: 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/CompactionTask.java?rev=1220665&r1=1220664&r2=1220665&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
 (original)
+++ 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
 Mon Dec 19 09:24:05 2011
@@ -175,9 +175,12 @@ public class CompactionTask extends Abst
                     SSTableReader toIndex = 
writer.closeAndOpenReader(getMaxDataAge(toCompact));
                     cachedKeyMap.put(toIndex, cachedKeys);
                     sstables.add(toIndex);
-                    writer = cfs.createCompactionWriter(keysPerSSTable, 
compactionFileLocation, toCompact);
-                    writers.add(writer);
-                    cachedKeys = new HashMap<DecoratedKey, Long>();
+                    if (nni.hasNext())
+                    {
+                        writer = cfs.createCompactionWriter(keysPerSSTable, 
compactionFileLocation, toCompact);
+                        writers.add(writer);
+                        cachedKeys = new HashMap<DecoratedKey, Long>();
+                    }
                 }
             }
         }


Reply via email to