Author: jbellis
Date: Wed Dec 29 17:45:29 2010
New Revision: 1053682
URL: http://svn.apache.org/viewvc?rev=1053682&view=rev
Log:
collect secondary index tombstones immediately
patch by jbellis; reviewed by tjake for CASSANDRA-1914
Modified:
cassandra/branches/cassandra-0.7/CHANGES.txt
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java
Modified: cassandra/branches/cassandra-0.7/CHANGES.txt
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1053682&r1=1053681&r2=1053682&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.7/CHANGES.txt Wed Dec 29 17:45:29 2010
@@ -17,6 +17,7 @@ dev
* allow [LOCAL|EACH]_QUORUM to be used with non-NetworkTopology
replication Strategies
* increased amount of index locks for faster commitlog replay
+ * collect secondary index tombstones immediately (CASSANDRA-1914)
0.7.0-rc3
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=1053682&r1=1053681&r2=1053682&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
(original)
+++
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
Wed Dec 29 17:45:29 2010
@@ -1958,4 +1958,9 @@ public class ColumnFamilyStore implement
return indexes;
}
+ /** true if this CFS contains secondary index data */
+ public boolean isIndex()
+ {
+ return partitioner instanceof LocalPartitioner;
+ }
}
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java?rev=1053682&r1=1053681&r2=1053682&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java
(original)
+++
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java
Wed Dec 29 17:45:29 2010
@@ -116,7 +116,12 @@ public class CompactionManager implement
// if we have too many to compact all at once,
compact older ones first -- this avoids
// re-compacting files we just created.
Collections.sort(sstables);
- return doCompaction(cfs, sstables.subList(0,
Math.min(sstables.size(), maxThreshold)), (int) (System.currentTimeMillis() /
1000) - cfs.metadata.getGcGraceSeconds());
+ int gcBefore = cfs.isIndex()
+ ? Integer.MAX_VALUE
+ : (int) (System.currentTimeMillis() /
1000) - cfs.metadata.getGcGraceSeconds();
+ return doCompaction(cfs,
+ sstables.subList(0,
Math.min(sstables.size(), maxThreshold)),
+ gcBefore);
}
}
}