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


Reply via email to