Author: slebresne
Date: Fri Nov  4 08:15:27 2011
New Revision: 1197420

URL: http://svn.apache.org/viewvc?rev=1197420&view=rev
Log:
Fix estimated row size histogram regression
patch by jbellis; reviewed by slebresne for CASSANDRA-3451

Modified:
    cassandra/branches/cassandra-1.0/CHANGES.txt
    
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/sstable/SSTableMetadata.java

Modified: cassandra/branches/cassandra-1.0/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/CHANGES.txt?rev=1197420&r1=1197419&r2=1197420&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0/CHANGES.txt (original)
+++ cassandra/branches/cassandra-1.0/CHANGES.txt Fri Nov  4 08:15:27 2011
@@ -9,7 +9,8 @@
  * fix bug that caused first column in per row indexes to be ignored 
    (CASSANDRA-3441)
  * add JMX call to clean (failed) repair sessions (CASSANDRA-3316)
- * Fix sstableloader reference acquisition bug (CASSANDRA-3438)
+ * fix sstableloader reference acquisition bug (CASSANDRA-3438)
+ * fix estimated row size regression (CASSANDRA-3451)
 Merged from 0.8:
  * acquire compactionlock during truncate (CASSANDRA-3399)
  * fix displaying cfdef entries for super columnfamilies (CASSANDRA-3415)

Modified: 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/sstable/SSTableMetadata.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/sstable/SSTableMetadata.java?rev=1197420&r1=1197419&r2=1197420&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/sstable/SSTableMetadata.java
 (original)
+++ 
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/sstable/SSTableMetadata.java
 Fri Nov  4 08:15:27 2011
@@ -57,7 +57,7 @@ public class SSTableMetadata
 
     private SSTableMetadata()
     {
-        this(defaultRowHistogram(), defaultColumnHistogram(), 
ReplayPosition.NONE);
+        this(defaultRowSizeHistogram(), defaultColumnCountHistogram(), 
ReplayPosition.NONE);
     }
 
     // when there is no max timestamp recorded, default to max long
@@ -104,13 +104,15 @@ public class SSTableMetadata
         return maxTimestamp;
     }
 
-    static EstimatedHistogram defaultColumnHistogram()
+    static EstimatedHistogram defaultColumnCountHistogram()
     {
+        // EH of 114 can track a max value of 2395318855, i.e., > 2B columns
         return new EstimatedHistogram(114);
     }
 
-    static EstimatedHistogram defaultRowHistogram()
+    static EstimatedHistogram defaultRowSizeHistogram()
     {
+        // EH of 150 can track a max value of 1697806495183, i.e., > 1.5PB
         return new EstimatedHistogram(150);
     }
 
@@ -123,8 +125,8 @@ public class SSTableMetadata
 
         private Collector()
         {
-            this.estimatedRowSize = defaultColumnHistogram();
-            this.estimatedColumnCount = defaultRowHistogram();
+            this.estimatedRowSize = defaultRowSizeHistogram();
+            this.estimatedColumnCount = defaultColumnCountHistogram();
             this.replayPosition = ReplayPosition.NONE;
             this.maxTimestamp = Long.MIN_VALUE;
         }


Reply via email to