Author: jbellis
Date: Fri Jan 28 00:09:44 2011
New Revision: 1064371

URL: http://svn.apache.org/viewvc?rev=1064371&view=rev
Log:
fix deletionof sstable non-data components
patch by jbellis; reviewed by stuhood for CASSANDRA-2059

Modified:
    cassandra/branches/cassandra-0.7/CHANGES.txt
    
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableDeletingReference.java

Modified: cassandra/branches/cassandra-0.7/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1064371&r1=1064370&r2=1064371&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.7/CHANGES.txt Fri Jan 28 00:09:44 2011
@@ -7,6 +7,7 @@
  * reduce garbage generated by MessagingService to prevent load spikes
    (CASSANDRA-2058)
  * fix math in RandomPartitioner.describeOwnership (CASSANDRA-2071)
+ * fix deletion of sstable non-data components (CASSANDRA-2059)
 
 
 0.7.1

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableDeletingReference.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableDeletingReference.java?rev=1064371&r1=1064370&r2=1064371&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableDeletingReference.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableDeletingReference.java
 Fri Jan 28 00:09:44 2011
@@ -23,9 +23,11 @@ import java.io.File;
 import java.io.IOException;
 import java.lang.ref.PhantomReference;
 import java.lang.ref.ReferenceQueue;
+import java.util.Collections;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 
+import com.google.common.collect.Sets;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -91,8 +93,7 @@ public class SSTableDeletingReference ex
                 }
             }
             // let the remainder be cleaned up by delete
-            components.remove(Component.DATA);
-            SSTable.delete(desc, components);
+            SSTable.delete(desc, Sets.difference(components, 
Collections.singleton(Component.DATA)));
             tracker.spaceReclaimed(size);
         }
     }


Reply via email to