Class SkipListMemtable

    • Field Detail

      • ROW_OVERHEAD_HEAP_SIZE

        protected static final int ROW_OVERHEAD_HEAP_SIZE
    • Method Detail

      • isClean

        public boolean isClean()
        Description copied from interface: Memtable
        True if the memtable contains no data
      • put

        public long put​(PartitionUpdate update,
                        UpdateTransaction indexer,
                        OpOrder.Group opGroup)
        Should only be called by ColumnFamilyStore.apply via Keyspace.apply, which supplies the appropriate OpOrdering. commitLogSegmentPosition should only be null if this is a secondary index, in which case it is *expected* to be null
        Parameters:
        update - the partition update, may be a new partition or an update to an existing one
        indexer - receives information about the update's effect
        opGroup - write operation group, used to permit the operation to complete if it is needed to complete a flush to free space.
        Returns:
        the smallest timestamp delta between corresponding rows from existing and update. A timestamp delta being computed as the difference between the cells and DeletionTimes from any existing partition and those in update. See CASSANDRA-7979.
      • partitionCount

        public long partitionCount()
        Description copied from interface: Memtable
        Number of partitions stored in the memtable
      • partitionIterator

        public org.apache.cassandra.db.memtable.SkipListMemtable.MemtableUnfilteredPartitionIterator partitionIterator​(ColumnFilter columnFilter,
                                                                                                                       DataRange dataRange,
                                                                                                                       SSTableReadsListener readsListener)
        Description copied from interface: UnfilteredSource
        Returns a partition iterator for the given data range.
        Parameters:
        columnFilter - filter to apply to all returned partitions
        dataRange - the partition and clustering range queried
        readsListener - a listener used to handle internal read events
      • rowIterator

        public UnfilteredRowIterator rowIterator​(DecoratedKey key,
                                                 Slices slices,
                                                 ColumnFilter selectedColumns,
                                                 boolean reversed,
                                                 SSTableReadsListener listener)
        Description copied from interface: UnfilteredSource
        Returns a row iterator for the given partition, applying the specified row and column filters.
        Parameters:
        key - the partition key
        slices - the row ranges to return
        selectedColumns - filter to apply to all returned partitions
        reversed - true if the content should be returned in reverse order
        listener - a listener used to handle internal read events
      • getLiveDataSize

        public long getLiveDataSize()
        Description copied from interface: Memtable
        Size of the data not accounting for any metadata / mapping overheads
      • makeUnflushable

        public void makeUnflushable()
        For testing only. Give this memtable too big a size to make it always fail flushing.