public class CompactionStrategyManager extends java.lang.Object implements INotificationConsumer
Modifier and Type | Field and Description |
---|---|
CompactionLogger |
compactionLogger |
Constructor and Description |
---|
CompactionStrategyManager(ColumnFamilyStore cfs) |
Modifier and Type | Method and Description |
---|---|
SSTableMultiWriter |
createSSTableMultiWriter(Descriptor descriptor,
long keyCount,
long repairedAt,
MetadataCollector collector,
SerializationHeader header,
java.util.Collection<Index> indexes,
LifecycleTransaction txn) |
void |
disable() |
void |
enable() |
CompactionParams |
getCompactionParams() |
AbstractCompactionStrategy |
getCompactionStrategyFor(SSTableReader sstable)
return the compaction strategy for the given sstable
returns differently based on the repaired status and which vnode the compaction strategy belongs to
|
static int |
getCompactionStrategyIndex(ColumnFamilyStore cfs,
Directories locations,
SSTableReader sstable)
Get the correct compaction strategy for the given sstable.
|
AbstractCompactionTask |
getCompactionTask(LifecycleTransaction txn,
int gcBefore,
long maxSSTableBytes) |
Directories |
getDirectories() |
int |
getEstimatedRemainingTasks() |
int |
getLevelFanoutSize() |
java.util.Collection<AbstractCompactionTask> |
getMaximalTasks(int gcBefore,
boolean splitOutput) |
long |
getMaxSSTableBytes() |
java.lang.String |
getName() |
AbstractCompactionTask |
getNextBackgroundTask(int gcBefore)
Return the next background task
Returns a task for the compaction strategy that needs it the most (most estimated remaining tasks)
|
AbstractCompactionStrategy.ScannerList |
getScanners(java.util.Collection<SSTableReader> sstables) |
AbstractCompactionStrategy.ScannerList |
getScanners(java.util.Collection<SSTableReader> sstables,
java.util.Collection<Range<Token>> ranges)
Create ISSTableScanners from the given sstables
Delegates the call to the compaction strategies to allow LCS to create a scanner
|
int[] |
getSSTableCountPerLevel() |
java.util.List<java.util.List<AbstractCompactionStrategy>> |
getStrategies() |
java.util.List<java.lang.String> |
getStrategyFolders(AbstractCompactionStrategy strategy) |
int |
getUnleveledSSTables() |
AbstractCompactionTask |
getUserDefinedTask(java.util.Collection<SSTableReader> sstables,
int gcBefore)
Deprecated.
use
getUserDefinedTasks(Collection, int) instead. |
java.util.List<AbstractCompactionTask> |
getUserDefinedTasks(java.util.Collection<SSTableReader> sstables,
int gcBefore)
Return a list of compaction tasks corresponding to the sstables requested.
|
java.util.Collection<java.util.Collection<SSTableReader>> |
groupSSTablesForAntiCompaction(java.util.Collection<SSTableReader> sstablesToGroup) |
void |
handleNotification(INotification notification,
java.lang.Object sender) |
boolean |
isActive() |
boolean |
isEnabled() |
boolean |
isRepaired(AbstractCompactionStrategy strategy) |
void |
maybeReload(CFMetaData metadata) |
boolean |
onlyPurgeRepairedTombstones() |
void |
pause()
pause compaction while we cancel all ongoing compactions
Separate call from enable/disable to not have to save the enabled-state externally
|
void |
replaceFlushed(Memtable memtable,
java.util.Collection<SSTableReader> sstables) |
void |
resume() |
void |
setNewLocalCompactionStrategy(CompactionParams params) |
boolean |
shouldBeEnabled() |
boolean |
shouldDefragment() |
void |
shutdown() |
boolean |
supportsEarlyOpen() |
public final CompactionLogger compactionLogger
public CompactionStrategyManager(ColumnFamilyStore cfs)
public AbstractCompactionTask getNextBackgroundTask(int gcBefore)
public boolean isEnabled()
public boolean isActive()
public void resume()
public void pause()
public AbstractCompactionStrategy getCompactionStrategyFor(SSTableReader sstable)
sstable
- public static int getCompactionStrategyIndex(ColumnFamilyStore cfs, Directories locations, SSTableReader sstable)
cfs
- locations
- sstable
- public void shutdown()
public void maybeReload(CFMetaData metadata)
public void replaceFlushed(Memtable memtable, java.util.Collection<SSTableReader> sstables)
public int getUnleveledSSTables()
public int getLevelFanoutSize()
public int[] getSSTableCountPerLevel()
public boolean shouldDefragment()
public Directories getDirectories()
public void handleNotification(INotification notification, java.lang.Object sender)
handleNotification
in interface INotificationConsumer
public void enable()
public void disable()
public AbstractCompactionStrategy.ScannerList getScanners(java.util.Collection<SSTableReader> sstables, java.util.Collection<Range<Token>> ranges)
sstables
- ranges
- public AbstractCompactionStrategy.ScannerList getScanners(java.util.Collection<SSTableReader> sstables)
public java.util.Collection<java.util.Collection<SSTableReader>> groupSSTablesForAntiCompaction(java.util.Collection<SSTableReader> sstablesToGroup)
public long getMaxSSTableBytes()
public AbstractCompactionTask getCompactionTask(LifecycleTransaction txn, int gcBefore, long maxSSTableBytes)
public java.util.Collection<AbstractCompactionTask> getMaximalTasks(int gcBefore, boolean splitOutput)
public java.util.List<AbstractCompactionTask> getUserDefinedTasks(java.util.Collection<SSTableReader> sstables, int gcBefore)
sstables
- the sstables to compactgcBefore
- gc grace period, throw away tombstones older than this@Deprecated public AbstractCompactionTask getUserDefinedTask(java.util.Collection<SSTableReader> sstables, int gcBefore)
getUserDefinedTasks(Collection, int)
instead.public int getEstimatedRemainingTasks()
public boolean shouldBeEnabled()
public java.lang.String getName()
public java.util.List<java.util.List<AbstractCompactionStrategy>> getStrategies()
public void setNewLocalCompactionStrategy(CompactionParams params)
public CompactionParams getCompactionParams()
public boolean onlyPurgeRepairedTombstones()
public SSTableMultiWriter createSSTableMultiWriter(Descriptor descriptor, long keyCount, long repairedAt, MetadataCollector collector, SerializationHeader header, java.util.Collection<Index> indexes, LifecycleTransaction txn)
public boolean isRepaired(AbstractCompactionStrategy strategy)
public java.util.List<java.lang.String> getStrategyFolders(AbstractCompactionStrategy strategy)
public boolean supportsEarlyOpen()
Copyright © 2017 The Apache Software Foundation