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