Class Tracker


  • public class Tracker
    extends java.lang.Object
    Tracker tracks live View of data store for a table.
    • Field Detail

      • loadsstables

        public final boolean loadsstables
    • Constructor Detail

      • Tracker

        public Tracker​(ColumnFamilyStore columnFamilyStore,
                       Memtable memtable,
                       boolean loadsstables)
        Parameters:
        columnFamilyStore -
        memtable - Initial Memtable. Can be null.
        loadsstables - true to indicate to load SSTables (TODO: remove as this is only accessed from 2i)
    • Method Detail

      • newDummyTracker

        public static Tracker newDummyTracker()
      • tryModify

        public LifecycleTransaction tryModify​(java.lang.Iterable<? extends SSTableReader> sstables,
                                              OperationType operationType)
        Returns:
        a Transaction over the provided sstables if we are able to mark the given @param sstables as compacted, before anyone else
      • updateLiveDiskSpaceUsed

        public void updateLiveDiskSpaceUsed​(long adjustment)
      • addInitialSSTables

        public void addInitialSSTables​(java.lang.Iterable<SSTableReader> sstables)
      • addInitialSSTablesWithoutUpdatingSize

        public void addInitialSSTablesWithoutUpdatingSize​(java.lang.Iterable<SSTableReader> sstables)
      • updateInitialSSTableSize

        public void updateInitialSSTableSize​(java.lang.Iterable<SSTableReader> sstables)
      • addSSTables

        public void addSSTables​(java.lang.Iterable<SSTableReader> sstables)
      • reset

        public void reset​(Memtable memtable)
        (Re)initializes the tracker, purging all references.
      • dropSSTablesIfInvalid

        public java.lang.Throwable dropSSTablesIfInvalid​(java.lang.Throwable accumulate)
      • dropSSTables

        public void dropSSTables()
      • dropSSTables

        public java.lang.Throwable dropSSTables​(java.lang.Throwable accumulate)
      • dropSSTables

        public java.lang.Throwable dropSSTables​(com.google.common.base.Predicate<SSTableReader> remove,
                                                OperationType operationType,
                                                java.lang.Throwable accumulate)
        removes all sstables that are not busy compacting.
      • removeUnreadableSSTables

        public void removeUnreadableSSTables​(File directory)
        Removes every SSTable in the directory from the Tracker's view.
        Parameters:
        directory - the unreadable directory, possibly with SSTables in it, but not necessarily.
      • switchMemtable

        public Memtable switchMemtable​(boolean truncating,
                                       Memtable newMemtable)
        Switch the current memtable. This atomically appends a new memtable to the end of the list of active memtables, returning the previously last memtable. It leaves the previous Memtable in the list of live memtables until discarding(memtable) is called. These two methods must be synchronized/paired, i.e. m = switchMemtable must be followed by discarding(m), they cannot be interleaved.
        Returns:
        the previously active memtable
      • markFlushing

        public void markFlushing​(Memtable memtable)
      • replaceFlushed

        public void replaceFlushed​(Memtable memtable,
                                   java.lang.Iterable<SSTableReader> sstables)
      • getCompacting

        public java.util.Set<SSTableReader> getCompacting()
      • getUncompacting

        public java.lang.Iterable<SSTableReader> getUncompacting()
      • maybeIncrementallyBackup

        public void maybeIncrementallyBackup​(java.lang.Iterable<SSTableReader> sstables)
      • notifySSTableRepairedStatusChanged

        public void notifySSTableRepairedStatusChanged​(java.util.Collection<SSTableReader> repairStatusesChanged)
      • notifySSTableMetadataChanged

        public void notifySSTableMetadataChanged​(SSTableReader levelChanged,
                                                 StatsMetadata oldMetadata)
      • notifyDeleting

        public void notifyDeleting​(SSTableReader deleting)
      • notifyTruncated

        public void notifyTruncated​(long truncatedAt)
      • notifyRenewed

        public void notifyRenewed​(Memtable renewed)
      • notifySwitched

        public void notifySwitched​(Memtable previous)
      • notifyDiscarded

        public void notifyDiscarded​(Memtable discarded)
      • isDummy

        public boolean isDummy()
      • getView

        public View getView()
      • removeUnsafe

        public void removeUnsafe​(java.util.Set<SSTableReader> toRemove)