You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2010/02/23 23:46:28 UTC

svn commit: r915565 - in /incubator/cassandra/branches/cassandra-0.6: CHANGES.txt src/java/org/apache/cassandra/db/CompactionManager.java

Author: jbellis
Date: Tue Feb 23 22:46:27 2010
New Revision: 915565

URL: http://svn.apache.org/viewvc?rev=915565&view=rev
Log:
fix average compaction bucket size calculation.  patch by jbellis; reviewed by Stu Hood for CASSANDRA-814

Modified:
    incubator/cassandra/branches/cassandra-0.6/CHANGES.txt
    incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/CompactionManager.java

Modified: incubator/cassandra/branches/cassandra-0.6/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.6/CHANGES.txt?rev=915565&r1=915564&r2=915565&view=diff
==============================================================================
--- incubator/cassandra/branches/cassandra-0.6/CHANGES.txt (original)
+++ incubator/cassandra/branches/cassandra-0.6/CHANGES.txt Tue Feb 23 22:46:27 2010
@@ -1,4 +1,7 @@
-0.6.0-dev
+0.6.0-RC1
+ * fix compaction bucketing bug (CASSANDRA-814)
+
+0.6.0-beta1/beta2
  * add batch_mutate thrift command, deprecating batch_insert (CASSANDRA-336)
  * remove get_key_range Thrift API, deprecated in 0.5 (CASSANDRA-710)
  * add optional login() Thrift call for authentication (CASSANDRA-547)

Modified: incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/CompactionManager.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/CompactionManager.java?rev=915565&r1=915564&r2=915565&view=diff
==============================================================================
--- incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/CompactionManager.java (original)
+++ incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/CompactionManager.java Tue Feb 23 22:46:27 2010
@@ -466,7 +466,8 @@
                 {
                     // remove and re-add because adding changes the hash
                     buckets.remove(bucket);
-                    averageSize = (averageSize + size) / 2;
+                    long totalSize = bucket.size() * averageSize;
+                    averageSize = (totalSize + size) / (bucket.size() + 1);
                     bucket.add(sstable);
                     buckets.put(bucket, averageSize);
                     bFound = true;