Merge branch 'cassandra-2.2' into cassandra-3.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ecb4ae8d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ecb4ae8d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ecb4ae8d Branch: refs/heads/trunk Commit: ecb4ae8daf536d030b1dea93c2cc13e1ca50219f Parents: 411c560 ac9844b Author: Josh McKenzie <[email protected]> Authored: Sun May 8 20:32:44 2016 -0400 Committer: Josh McKenzie <[email protected]> Committed: Sun May 8 20:32:44 2016 -0400 ---------------------------------------------------------------------- .../apache/cassandra/utils/memory/NativeAllocator.java | 10 ++++++++++ .../org/apache/cassandra/utils/memory/SlabAllocator.java | 6 +++--- 2 files changed, 13 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ecb4ae8d/src/java/org/apache/cassandra/utils/memory/NativeAllocator.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/utils/memory/NativeAllocator.java index e5458b4,98878c0..4857f34 --- a/src/java/org/apache/cassandra/utils/memory/NativeAllocator.java +++ b/src/java/org/apache/cassandra/utils/memory/NativeAllocator.java @@@ -25,11 -25,28 +25,21 @@@ import java.util.concurrent.atomic.Atom import java.util.concurrent.atomic.AtomicReference; import org.apache.cassandra.config.CFMetaData; -import org.apache.cassandra.db.Cell; -import org.apache.cassandra.db.CounterCell; import org.apache.cassandra.db.DecoratedKey; -import org.apache.cassandra.db.DeletedCell; -import org.apache.cassandra.db.ExpiringCell; -import org.apache.cassandra.db.NativeCell; -import org.apache.cassandra.db.NativeCounterCell; import org.apache.cassandra.db.NativeDecoratedKey; -import org.apache.cassandra.db.NativeDeletedCell; -import org.apache.cassandra.db.NativeExpiringCell; +import org.apache.cassandra.db.rows.Row; import org.apache.cassandra.utils.concurrent.OpOrder; + /** + * This NativeAllocator uses global slab allocation strategy + * with slab size that scales exponentially from 8kb to 1Mb to + * serve allocation of up to 128kb. + * <p> + * </p> + * The slab allocation reduces heap fragmentation from small + * long-lived objects. + * + */ public class NativeAllocator extends MemtableAllocator { private final static int MAX_REGION_SIZE = 1 * 1024 * 1024;
