Package org.apache.cassandra.db
Class Memtable
- java.lang.Object
-
- org.apache.cassandra.db.Memtable
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Memtable.LastCommitLogPosition
static class
Memtable.MemtableUnfilteredPartitionIterator
-
Field Summary
Fields Modifier and Type Field Description ColumnFamilyStore
cfs
ClusteringComparator
initialComparator
static MemtablePool
MEMORY_POOL
-
Constructor Summary
Constructors Constructor Description Memtable(java.util.concurrent.atomic.AtomicReference<CommitLogPosition> commitLogLowerBound, ColumnFamilyStore cfs)
Memtable(TableMetadata metadata)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Throwable
abortRunnables(java.util.List<org.apache.cassandra.db.Memtable.FlushRunnable> runnables, java.lang.Throwable t)
boolean
accepts(OpOrder.Group opGroup, CommitLogPosition commitLogPosition)
int
compareTo(Memtable that)
java.util.List<org.apache.cassandra.db.Memtable.FlushRunnable>
flushRunnables(LifecycleTransaction txn)
MemtableAllocator
getAllocator()
CommitLogPosition
getCommitLogLowerBound()
CommitLogPosition
getCommitLogUpperBound()
long
getLiveDataSize()
long
getMinTimestamp()
long
getOperations()
Partition
getPartition(DecoratedKey key)
boolean
isClean()
boolean
isExpired()
boolean
isLive()
Memtable.MemtableUnfilteredPartitionIterator
makePartitionIterator(ColumnFilter columnFilter, DataRange dataRange)
void
makeUnflushable()
For testing only.boolean
mayContainDataBefore(CommitLogPosition position)
int
partitionCount()
void
setDiscarding(OpOrder.Barrier writeBarrier, java.util.concurrent.atomic.AtomicReference<CommitLogPosition> commitLogUpperBound)
java.lang.String
toString()
-
-
-
Field Detail
-
MEMORY_POOL
public static final MemtablePool MEMORY_POOL
-
cfs
public final ColumnFamilyStore cfs
-
initialComparator
public final ClusteringComparator initialComparator
-
-
Constructor Detail
-
Memtable
public Memtable(java.util.concurrent.atomic.AtomicReference<CommitLogPosition> commitLogLowerBound, ColumnFamilyStore cfs)
-
Memtable
public Memtable(TableMetadata metadata)
-
-
Method Detail
-
compareTo
public int compareTo(Memtable that)
- Specified by:
compareTo
in interfacejava.lang.Comparable<Memtable>
-
getAllocator
public MemtableAllocator getAllocator()
-
getLiveDataSize
public long getLiveDataSize()
-
getOperations
public long getOperations()
-
setDiscarding
public void setDiscarding(OpOrder.Barrier writeBarrier, java.util.concurrent.atomic.AtomicReference<CommitLogPosition> commitLogUpperBound)
-
accepts
public boolean accepts(OpOrder.Group opGroup, CommitLogPosition commitLogPosition)
-
getCommitLogLowerBound
public CommitLogPosition getCommitLogLowerBound()
-
getCommitLogUpperBound
public CommitLogPosition getCommitLogUpperBound()
-
isLive
public boolean isLive()
-
isClean
public boolean isClean()
-
mayContainDataBefore
public boolean mayContainDataBefore(CommitLogPosition position)
-
isExpired
public boolean isExpired()
- Returns:
- true if this memtable is expired. Expiration time is determined by CF's memtable_flush_period_in_ms.
-
partitionCount
public int partitionCount()
-
flushRunnables
public java.util.List<org.apache.cassandra.db.Memtable.FlushRunnable> flushRunnables(LifecycleTransaction txn)
-
abortRunnables
public java.lang.Throwable abortRunnables(java.util.List<org.apache.cassandra.db.Memtable.FlushRunnable> runnables, java.lang.Throwable t)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
makePartitionIterator
public Memtable.MemtableUnfilteredPartitionIterator makePartitionIterator(ColumnFilter columnFilter, DataRange dataRange)
-
getPartition
public Partition getPartition(DecoratedKey key)
-
getMinTimestamp
public long getMinTimestamp()
-
makeUnflushable
public void makeUnflushable()
For testing only. Give this memtable too big a size to make it always fail flushing.
-
-