public class LeveledCompactionStrategy extends AbstractCompactionStrategy
AbstractCompactionStrategy.ScannerList| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAULT_LEVEL_FANOUT_SIZE |
cfs, COMPACTION_ENABLED, DEFAULT_LOG_ALL_OPTION, DEFAULT_TOMBSTONE_COMPACTION_INTERVAL, DEFAULT_TOMBSTONE_THRESHOLD, DEFAULT_UNCHECKED_TOMBSTONE_COMPACTION_OPTION, disableTombstoneCompactions, isActive, LOG_ALL_OPTION, logAll, ONLY_PURGE_REPAIRED_TOMBSTONES, options, TOMBSTONE_COMPACTION_INTERVAL_OPTION, TOMBSTONE_THRESHOLD_OPTION, tombstoneCompactionInterval, tombstoneThreshold, UNCHECKED_TOMBSTONE_COMPACTION_OPTION, uncheckedTombstoneCompaction| Constructor and Description |
|---|
LeveledCompactionStrategy(ColumnFamilyStore cfs,
java.util.Map<java.lang.String,java.lang.String> options) |
| Modifier and Type | Method and Description |
|---|---|
void |
addSSTable(SSTableReader added) |
int[] |
getAllLevelSize() |
AbstractCompactionTask |
getCompactionTask(LifecycleTransaction txn,
int gcBefore,
long maxSSTableBytes) |
int |
getEstimatedRemainingTasks() |
int |
getLevelFanoutSize() |
int |
getLevelSize(int i) |
java.util.Collection<AbstractCompactionTask> |
getMaximalTask(int gcBefore,
boolean splitOutput) |
long |
getMaxSSTableBytes() |
AbstractCompactionTask |
getNextBackgroundTask(int gcBefore)
the only difference between background and maximal in LCS is that maximal is still allowed
(by explicit user request) even when compaction is disabled.
|
AbstractCompactionStrategy.ScannerList |
getScanners(java.util.Collection<SSTableReader> sstables,
java.util.Collection<Range<Token>> ranges)
Returns a list of KeyScanners given sstables and a range on which to scan.
|
AbstractCompactionTask |
getUserDefinedTask(java.util.Collection<SSTableReader> sstables,
int gcBefore) |
java.util.Collection<java.util.Collection<SSTableReader>> |
groupSSTablesForAntiCompaction(java.util.Collection<SSTableReader> ssTablesToGroup)
Leveled compaction strategy has guarantees on the data contained within each level so we
have to make sure we only create groups of SSTables with members from the same level.
|
void |
removeSSTable(SSTableReader sstable) |
void |
replaceSSTables(java.util.Collection<SSTableReader> removed,
java.util.Collection<SSTableReader> added) |
void |
startup()
Performs any extra initialization required
|
CompactionLogger.Strategy |
strategyLogger() |
java.lang.String |
toString() |
static java.util.Map<java.lang.String,java.lang.String> |
validateOptions(java.util.Map<java.lang.String,java.lang.String> options) |
addSSTables, createSSTableMultiWriter, disable, enable, filterSuspectSSTables, getDirectories, getMemtableReservedSize, getName, getScanners, getScanners, isAffectedByMeteredFlusher, pause, replaceFlushed, resume, shouldBeEnabled, shouldDefragment, shutdown, supportsEarlyOpen, worthDroppingTombstonespublic static final int DEFAULT_LEVEL_FANOUT_SIZE
public LeveledCompactionStrategy(ColumnFamilyStore cfs, java.util.Map<java.lang.String,java.lang.String> options)
public int getLevelSize(int i)
public int[] getAllLevelSize()
public void startup()
AbstractCompactionStrategystartup in class AbstractCompactionStrategypublic AbstractCompactionTask getNextBackgroundTask(int gcBefore)
getNextBackgroundTask in class AbstractCompactionStrategygcBefore - throw away tombstones older than thispublic java.util.Collection<AbstractCompactionTask> getMaximalTask(int gcBefore, boolean splitOutput)
getMaximalTask in class AbstractCompactionStrategygcBefore - throw away tombstones older than thispublic AbstractCompactionTask getUserDefinedTask(java.util.Collection<SSTableReader> sstables, int gcBefore)
getUserDefinedTask in class AbstractCompactionStrategysstables - SSTables to compact. Must be marked as compacting.gcBefore - throw away tombstones older than thispublic AbstractCompactionTask getCompactionTask(LifecycleTransaction txn, int gcBefore, long maxSSTableBytes)
getCompactionTask in class AbstractCompactionStrategypublic java.util.Collection<java.util.Collection<SSTableReader>> groupSSTablesForAntiCompaction(java.util.Collection<SSTableReader> ssTablesToGroup)
groupSSTablesForAntiCompaction in class AbstractCompactionStrategyssTablesToGroup - public int getEstimatedRemainingTasks()
getEstimatedRemainingTasks in class AbstractCompactionStrategypublic long getMaxSSTableBytes()
getMaxSSTableBytes in class AbstractCompactionStrategypublic int getLevelFanoutSize()
public AbstractCompactionStrategy.ScannerList getScanners(java.util.Collection<SSTableReader> sstables, java.util.Collection<Range<Token>> ranges)
AbstractCompactionStrategygetScanners in class AbstractCompactionStrategypublic void replaceSSTables(java.util.Collection<SSTableReader> removed, java.util.Collection<SSTableReader> added)
replaceSSTables in class AbstractCompactionStrategypublic void addSSTable(SSTableReader added)
addSSTable in class AbstractCompactionStrategypublic void removeSSTable(SSTableReader sstable)
removeSSTable in class AbstractCompactionStrategypublic java.lang.String toString()
toString in class java.lang.Objectpublic CompactionLogger.Strategy strategyLogger()
strategyLogger in class AbstractCompactionStrategypublic static java.util.Map<java.lang.String,java.lang.String> validateOptions(java.util.Map<java.lang.String,java.lang.String> options)
throws ConfigurationException
ConfigurationExceptionCopyright © 2018 The Apache Software Foundation