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();