public class ShardedSkipListMemtable extends AbstractAllocatorMemtable
Modifier and Type | Class and Description |
---|---|
static class |
ShardedSkipListMemtable.MemtableUnfilteredPartitionIterator |
AbstractMemtable.AbstractFlushablePartitionSet<P extends Partition>, AbstractMemtable.ColumnsCollector, AbstractMemtable.StatsCollector
Memtable.FlushablePartitionSet<P extends Partition>, Memtable.LastCommitLogPosition, Memtable.MemoryUsage, Memtable.Owner
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
LOCKING_OPTION |
static java.lang.String |
SHARD_COUNT_PROPERTY |
static java.lang.String |
SHARDS_OPTION |
allocator, initialComparator, MEMORY_POOL, owner
columnsCollector, currentOperations, metadata, minLocalDeletionTime, minTimestamp, statsCollector
NO_MIN_TIMESTAMP
Modifier and Type | Method and Description |
---|---|
protected Memtable.Factory |
factory() |
static org.apache.cassandra.db.memtable.ShardedSkipListMemtable.Factory |
factory(java.util.Map<java.lang.String,java.lang.String> optionsCopy) |
Memtable.FlushablePartitionSet<AtomicBTreePartition> |
getFlushSet(PartitionPosition from,
PartitionPosition to)
Get the collection of data between the given partition boundaries in a form suitable for flushing.
|
long |
getLiveDataSize()
Technically we should scatter gather on all the core threads because the size in following calls are not
using volatile variables, but for metrics purpose this should be good enough.
|
int |
getMinLocalDeletionTime()
Minimum local deletion time in the memtable
|
long |
getMinTimestamp()
Returns the minTS if one available, otherwise NO_MIN_TIMESTAMP.
|
boolean |
isClean()
True if the memtable contains no data
|
long |
operationCount()
Number of "operations" (in the sense defined in
PartitionUpdate.operationCount() ) the memtable has
executed. |
long |
partitionCount()
Number of partitions stored in the memtable
|
ShardedSkipListMemtable.MemtableUnfilteredPartitionIterator |
partitionIterator(ColumnFilter columnFilter,
DataRange dataRange,
SSTableReadsListener readsListener)
Returns a partition iterator for the given data range.
|
long |
put(PartitionUpdate update,
UpdateTransaction indexer,
OpOrder.Group opGroup)
Should only be called by ColumnFamilyStore.apply via Keyspace.apply, which supplies the appropriate
OpOrdering.
|
UnfilteredRowIterator |
rowIterator(DecoratedKey key) |
UnfilteredRowIterator |
rowIterator(DecoratedKey key,
Slices slices,
ColumnFilter selectedColumns,
boolean reversed,
SSTableReadsListener listener)
Returns a row iterator for the given partition, applying the specified row and column filters.
|
addMemoryUsageTo, createMemtableAllocatorPoolInternal, discard, flushLargestMemtable, getAllocator, localRangesUpdated, markExtraOffHeapUsed, markExtraOnHeapUsed, metadataUpdated, performSnapshot, shouldSwitch, switchOut, toString
accepts, getApproximateCommitLogLowerBound, getCommitLogLowerBound, getFinalCommitLogUpperBound, mayContainDataBefore
metadata, updateMin, updateMin
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
compareTo, getMemoryUsage, newMemoryUsage
public static final java.lang.String SHARDS_OPTION
public static final java.lang.String LOCKING_OPTION
public static final java.lang.String SHARD_COUNT_PROPERTY
public boolean isClean()
Memtable
protected Memtable.Factory factory()
factory
in class AbstractAllocatorMemtable
public long put(PartitionUpdate update, UpdateTransaction indexer, OpOrder.Group opGroup)
update
- the partition update, may be a new partition or an update to an existing oneindexer
- receives information about the update's effectopGroup
- write operation group, used to permit the operation to complete if it is needed to complete a
flush to free space.update
. See CASSANDRA-7979.public long getLiveDataSize()
public long operationCount()
Memtable
PartitionUpdate.operationCount()
) the memtable has
executed.operationCount
in interface Memtable
operationCount
in class AbstractMemtable
public long partitionCount()
Memtable
public long getMinTimestamp()
getMinTimestamp
in interface UnfilteredSource
getMinTimestamp
in class AbstractMemtable
public int getMinLocalDeletionTime()
UnfilteredSource
getMinLocalDeletionTime
in interface UnfilteredSource
getMinLocalDeletionTime
in class AbstractMemtable
public ShardedSkipListMemtable.MemtableUnfilteredPartitionIterator partitionIterator(ColumnFilter columnFilter, DataRange dataRange, SSTableReadsListener readsListener)
UnfilteredSource
columnFilter
- filter to apply to all returned partitionsdataRange
- the partition and clustering range queriedreadsListener
- a listener used to handle internal read eventspublic UnfilteredRowIterator rowIterator(DecoratedKey key, Slices slices, ColumnFilter selectedColumns, boolean reversed, SSTableReadsListener listener)
UnfilteredSource
key
- the partition keyslices
- the row ranges to returnselectedColumns
- filter to apply to all returned partitionsreversed
- true if the content should be returned in reverse orderlistener
- a listener used to handle internal read eventspublic UnfilteredRowIterator rowIterator(DecoratedKey key)
public Memtable.FlushablePartitionSet<AtomicBTreePartition> getFlushSet(PartitionPosition from, PartitionPosition to)
Memtable
public static org.apache.cassandra.db.memtable.ShardedSkipListMemtable.Factory factory(java.util.Map<java.lang.String,java.lang.String> optionsCopy)
Copyright © 2009- The Apache Software Foundation