Package org.apache.cassandra.db.memtable
Class SkipListMemtableFactory
- java.lang.Object
-
- org.apache.cassandra.db.memtable.SkipListMemtableFactory
-
- All Implemented Interfaces:
Memtable.Factory
public class SkipListMemtableFactory extends java.lang.Object implements Memtable.Factory
This class makes better sense as an inner class to SkipListMemtable (which could be as simple as FACTORY = SkipListMemtable::new), but having it there causes the SkipListMemtable class to be initialized the first time it is referenced (e.g. during default memtable factory construction). Some tests want to setup table parameters before initializing DatabaseDescriptor -- this allows them to do so, and also makes sure the memtable memory pools are not created for offline tools.
-
-
Field Summary
Fields Modifier and Type Field Description static InheritingClassCONFIGURATIONstatic SkipListMemtableFactoryINSTANCE
-
Constructor Summary
Constructors Constructor Description SkipListMemtableFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Memtablecreate(java.util.concurrent.atomic.AtomicReference<CommitLogPosition> commitLogLowerBound, TableMetadataRef metadaRef, Memtable.Owner owner)Create a memtable.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.cassandra.db.memtable.Memtable.Factory
createMemtableMetrics, streamFromMemtable, streamToMemtable, writesAreDurable, writesShouldSkipCommitLog
-
-
-
-
Field Detail
-
INSTANCE
public static final SkipListMemtableFactory INSTANCE
-
CONFIGURATION
public static InheritingClass CONFIGURATION
-
-
Method Detail
-
create
public Memtable create(java.util.concurrent.atomic.AtomicReference<CommitLogPosition> commitLogLowerBound, TableMetadataRef metadaRef, Memtable.Owner owner)
Description copied from interface:Memtable.FactoryCreate a memtable.- Specified by:
createin interfaceMemtable.Factory- Parameters:
commitLogLowerBound- A commit log lower bound for the new memtable. This will be equal to the previous memtable's upper bound and defines the span of positions that any flushed sstable will cover.metadaRef- Pointer to the up-to-date table metadata.owner- Owning objects that will receive flush requests triggered by the memtable (e.g. on expiration).
-
-