public final class WrappingCompactionStrategy extends AbstractCompactionStrategy implements INotificationConsumer
AbstractCompactionStrategy.ScannerList
cfs, COMPACTION_ENABLED, DEFAULT_TOMBSTONE_COMPACTION_INTERVAL, DEFAULT_TOMBSTONE_THRESHOLD, DEFAULT_UNCHECKED_TOMBSTONE_COMPACTION_OPTION, disableTombstoneCompactions, enabled, isActive, options, TOMBSTONE_COMPACTION_INTERVAL_OPTION, TOMBSTONE_THRESHOLD_OPTION, tombstoneCompactionInterval, tombstoneThreshold, UNCHECKED_TOMBSTONE_COMPACTION_OPTION, uncheckedTombstoneCompaction
Constructor and Description |
---|
WrappingCompactionStrategy(ColumnFamilyStore cfs) |
Modifier and Type | Method and Description |
---|---|
void |
addSSTable(SSTableReader added) |
void |
disable() |
void |
enable() |
java.util.List<SSTableReader> |
filterSSTablesForReads(java.util.List<SSTableReader> sstables) |
AbstractCompactionTask |
getCompactionTask(LifecycleTransaction txn,
int gcBefore,
long maxSSTableBytes) |
int |
getEstimatedRemainingTasks() |
java.util.Collection<AbstractCompactionTask> |
getMaximalTask(int gcBefore,
boolean splitOutput) |
long |
getMaxSSTableBytes() |
java.lang.String |
getName() |
AbstractCompactionTask |
getNextBackgroundTask(int gcBefore) |
AbstractCompactionStrategy.ScannerList |
getScanners(java.util.Collection<SSTableReader> sstables,
Range<Token> range)
Returns a list of KeyScanners given sstables and a range on which to scan.
|
int[] |
getSSTableCountPerLevel() |
int |
getUnleveledSSTables() |
AbstractCompactionTask |
getUserDefinedTask(java.util.Collection<SSTableReader> sstables,
int gcBefore) |
java.util.List<AbstractCompactionStrategy> |
getWrappedStrategies() |
java.util.Collection<java.util.Collection<SSTableReader>> |
groupSSTablesForAntiCompaction(java.util.Collection<SSTableReader> sstablesToGroup)
Method for grouping similar SSTables together, This will be used by
anti-compaction to determine which SSTables should be anitcompacted
as a group.
|
void |
handleNotification(INotification notification,
java.lang.Object sender) |
void |
maybeReloadCompactionStrategy(CFMetaData metadata) |
void |
reloadCompactionStrategy(CFMetaData metadata) |
void |
removeSSTable(SSTableReader sstable) |
void |
replaceSSTables(java.util.Collection<SSTableReader> removed,
java.util.Collection<SSTableReader> added) |
void |
setNewLocalCompactionStrategy(java.lang.Class<? extends AbstractCompactionStrategy> compactionStrategyClass,
java.util.Map<java.lang.String,java.lang.String> options) |
boolean |
shouldDefragment() |
void |
shutdown()
Releases any resources if this strategy is shutdown (when the CFS is reloaded after a schema change).
|
void |
startup()
Performs any extra initialization required
|
static int[] |
sumArrays(int[] a,
int[] b) |
filterSuspectSSTables, getMemtableReservedSize, getScanners, isAffectedByMeteredFlusher, isEnabled, pause, replaceFlushed, resume, shouldBeEnabled, validateOptions, worthDroppingTombstones
public WrappingCompactionStrategy(ColumnFamilyStore cfs)
public AbstractCompactionTask getNextBackgroundTask(int gcBefore)
getNextBackgroundTask
in class AbstractCompactionStrategy
gcBefore
- throw away tombstones older than thispublic java.util.Collection<AbstractCompactionTask> getMaximalTask(int gcBefore, boolean splitOutput)
getMaximalTask
in class AbstractCompactionStrategy
gcBefore
- throw away tombstones older than thispublic AbstractCompactionTask getCompactionTask(LifecycleTransaction txn, int gcBefore, long maxSSTableBytes)
getCompactionTask
in class AbstractCompactionStrategy
public AbstractCompactionTask getUserDefinedTask(java.util.Collection<SSTableReader> sstables, int gcBefore)
getUserDefinedTask
in class AbstractCompactionStrategy
sstables
- SSTables to compact. Must be marked as compacting.gcBefore
- throw away tombstones older than thispublic int getEstimatedRemainingTasks()
getEstimatedRemainingTasks
in class AbstractCompactionStrategy
public long getMaxSSTableBytes()
getMaxSSTableBytes
in class AbstractCompactionStrategy
public void maybeReloadCompactionStrategy(CFMetaData metadata)
public void reloadCompactionStrategy(CFMetaData metadata)
public int getUnleveledSSTables()
public int[] getSSTableCountPerLevel()
public static int[] sumArrays(int[] a, int[] b)
public boolean shouldDefragment()
shouldDefragment
in class AbstractCompactionStrategy
public java.lang.String getName()
getName
in class AbstractCompactionStrategy
public void replaceSSTables(java.util.Collection<SSTableReader> removed, java.util.Collection<SSTableReader> added)
replaceSSTables
in class AbstractCompactionStrategy
public void addSSTable(SSTableReader added)
addSSTable
in class AbstractCompactionStrategy
public void removeSSTable(SSTableReader sstable)
removeSSTable
in class AbstractCompactionStrategy
public void handleNotification(INotification notification, java.lang.Object sender)
handleNotification
in interface INotificationConsumer
public java.util.List<SSTableReader> filterSSTablesForReads(java.util.List<SSTableReader> sstables)
filterSSTablesForReads
in class AbstractCompactionStrategy
public void startup()
AbstractCompactionStrategy
startup
in class AbstractCompactionStrategy
public void shutdown()
AbstractCompactionStrategy
shutdown
in class AbstractCompactionStrategy
public void enable()
enable
in class AbstractCompactionStrategy
public void disable()
disable
in class AbstractCompactionStrategy
public AbstractCompactionStrategy.ScannerList getScanners(java.util.Collection<SSTableReader> sstables, Range<Token> range)
AbstractCompactionStrategy
getScanners
in class AbstractCompactionStrategy
public java.util.Collection<java.util.Collection<SSTableReader>> groupSSTablesForAntiCompaction(java.util.Collection<SSTableReader> sstablesToGroup)
AbstractCompactionStrategy
groupSSTablesForAntiCompaction
in class AbstractCompactionStrategy
public java.util.List<AbstractCompactionStrategy> getWrappedStrategies()
public void setNewLocalCompactionStrategy(java.lang.Class<? extends AbstractCompactionStrategy> compactionStrategyClass, java.util.Map<java.lang.String,java.lang.String> options)
Copyright © 2019 The Apache Software Foundation