Author: jbellis
Date: Thu Oct 6 21:11:13 2011
New Revision: 1179854
URL: http://svn.apache.org/viewvc?rev=1179854&view=rev
Log:
fix estimated leveled compaction tasks
patch by jbellis
Modified:
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java
Modified:
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java?rev=1179854&r1=1179853&r2=1179854&view=diff
==============================================================================
---
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java
(original)
+++
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java
Thu Oct 6 21:11:13 2011
@@ -239,7 +239,7 @@ public class LeveledManifest
// L0 gets a special case that if we don't have anything more
important to do,
// we'll go ahead and compact even just one sstable
- if (score > 1 || i == 0)
+ if (score > 1.001 || i == 0)
{
Collection<SSTableReader> candidates = getCandidatesFor(i);
if (logger.isDebugEnabled())
@@ -427,7 +427,7 @@ public class LeveledManifest
List<SSTableReader> sstables = generations[i];
if (sstables.isEmpty())
continue;
- n += (SSTableReader.getTotalBytes(sstables) - maxBytesForLevel(i))
/ maxSSTableSizeInMB;
+ n += Math.max(0L, SSTableReader.getTotalBytes(sstables) -
maxBytesForLevel(i)) / (maxSSTableSizeInMB * 1024 * 1024);
}
return n;
}