Merge branch 'cassandra-1.2' into trunk

Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d11ba8ab
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d11ba8ab
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d11ba8ab

Branch: refs/heads/trunk
Commit: d11ba8ab892356c312954f99c26667c746e3745b
Parents: 56e59fe 813a937
Author: Jonathan Ellis <jbel...@apache.org>
Authored: Fri Apr 19 08:35:19 2013 -0500
Committer: Jonathan Ellis <jbel...@apache.org>
Committed: Fri Apr 19 08:35:19 2013 -0500

----------------------------------------------------------------------
 CHANGES.txt                                        |    2 +
 src/java/org/apache/cassandra/db/Memtable.java     |   10 ++++++-
 .../org/apache/cassandra/utils/SlabAllocator.java  |   23 ++++++++++++++-
 3 files changed, 33 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d11ba8ab/CHANGES.txt
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d11ba8ab/src/java/org/apache/cassandra/db/Memtable.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/Memtable.java
index 32bb588,282acd2..1b88b97
--- a/src/java/org/apache/cassandra/db/Memtable.java
+++ b/src/java/org/apache/cassandra/db/Memtable.java
@@@ -151,9 -150,22 +151,17 @@@ public class Memtabl
  
      public long getLiveSize()
      {
-         return (long) (currentSize.get() * cfs.liveRatio);
+         long estimatedSize = (long) (currentSize.get() * cfs.liveRatio);
+ 
+         // cap the estimate at both ends by what the allocator can tell us
+         if (estimatedSize < allocator.getMinimumSize())
+             return allocator.getMinimumSize();
+         if (estimatedSize > allocator.getMaximumSize())
+             return allocator.getMaximumSize();
+ 
+         return estimatedSize;
      }
  
 -    public long getSerializedSize()
 -    {
 -        return currentSize.get();
 -    }
 -
      public long getOperations()
      {
          return currentOperations.get();

Reply via email to