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