Class CompactionTask
- java.lang.Object
-
- org.apache.cassandra.utils.WrappedRunnable
-
- org.apache.cassandra.db.compaction.AbstractCompactionTask
-
- org.apache.cassandra.db.compaction.CompactionTask
-
- All Implemented Interfaces:
java.lang.Runnable
- Direct Known Subclasses:
LeveledCompactionTask,SSTableSplitter.SplittingCompactionTask,TimeWindowCompactionTask
public class CompactionTask extends AbstractCompactionTask
-
-
Field Summary
Fields Modifier and Type Field Description protected intgcBeforeprotected booleankeepOriginalsprotected static org.slf4j.Loggerloggerprotected static longtotalBytesCompacted-
Fields inherited from class org.apache.cassandra.db.compaction.AbstractCompactionTask
cfs, compactionType, isUserDefined, transaction
-
-
Constructor Summary
Constructors Constructor Description CompactionTask(ColumnFamilyStore cfs, LifecycleTransaction txn, int gcBefore)CompactionTask(ColumnFamilyStore cfs, LifecycleTransaction txn, int gcBefore, boolean keepOriginals)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static longaddToTotalBytesCompacted(long bytesCompacted)protected booleanbuildCompactionCandidatesForAvailableDiskSpace(java.util.Set<SSTableReader> fullyExpiredSSTables)protected intexecuteInternal(ActiveCompactionsTracker activeCompactions)CompactionAwareWritergetCompactionAwareWriter(ColumnFamilyStore cfs, Directories directories, LifecycleTransaction transaction, java.util.Set<SSTableReader> nonExpiredSSTables)protected CompactionControllergetCompactionController(java.util.Set<SSTableReader> toCompact)protected DirectoriesgetDirectories()static booleangetIsTransient(java.util.Set<SSTableReader> sstables)protected intgetLevel()static longgetMaxDataAge(java.util.Collection<SSTableReader> sstables)static longgetMinRepairedAt(java.util.Set<SSTableReader> actuallyCompact)static TimeUUIDgetPendingRepair(java.util.Set<SSTableReader> sstables)protected booleanpartialCompactionsAcceptable()booleanreduceScopeForLimitedSpace(java.util.Set<SSTableReader> nonExpiredSSTables, long expectedSize)protected voidrunMayThrow()For internal use and testing only.static java.lang.StringupdateCompactionHistory(TimeUUID taskId, java.lang.String keyspaceName, java.lang.String columnFamilyName, long[] mergedRowCounts, long startSize, long endSize)-
Methods inherited from class org.apache.cassandra.db.compaction.AbstractCompactionTask
execute, setCompactionType, setUserDefined, toString
-
Methods inherited from class org.apache.cassandra.utils.WrappedRunnable
run
-
-
-
-
Constructor Detail
-
CompactionTask
public CompactionTask(ColumnFamilyStore cfs, LifecycleTransaction txn, int gcBefore)
-
CompactionTask
public CompactionTask(ColumnFamilyStore cfs, LifecycleTransaction txn, int gcBefore, boolean keepOriginals)
-
-
Method Detail
-
addToTotalBytesCompacted
public static long addToTotalBytesCompacted(long bytesCompacted)
-
executeInternal
protected int executeInternal(ActiveCompactionsTracker activeCompactions)
- Specified by:
executeInternalin classAbstractCompactionTask
-
reduceScopeForLimitedSpace
public boolean reduceScopeForLimitedSpace(java.util.Set<SSTableReader> nonExpiredSSTables, long expectedSize)
-
runMayThrow
protected void runMayThrow() throws java.lang.ExceptionFor internal use and testing only. The rest of the system should go through the submit* methods, which are properly serialized. Caller is in charge of marking/unmarking the sstables as compacting.- Specified by:
runMayThrowin classWrappedRunnable- Throws:
java.lang.Exception
-
getCompactionAwareWriter
public CompactionAwareWriter getCompactionAwareWriter(ColumnFamilyStore cfs, Directories directories, LifecycleTransaction transaction, java.util.Set<SSTableReader> nonExpiredSSTables)
- Specified by:
getCompactionAwareWriterin classAbstractCompactionTask
-
updateCompactionHistory
public static java.lang.String updateCompactionHistory(TimeUUID taskId, java.lang.String keyspaceName, java.lang.String columnFamilyName, long[] mergedRowCounts, long startSize, long endSize)
-
getDirectories
protected Directories getDirectories()
-
getMinRepairedAt
public static long getMinRepairedAt(java.util.Set<SSTableReader> actuallyCompact)
-
getPendingRepair
public static TimeUUID getPendingRepair(java.util.Set<SSTableReader> sstables)
-
getIsTransient
public static boolean getIsTransient(java.util.Set<SSTableReader> sstables)
-
buildCompactionCandidatesForAvailableDiskSpace
protected boolean buildCompactionCandidatesForAvailableDiskSpace(java.util.Set<SSTableReader> fullyExpiredSSTables)
-
getLevel
protected int getLevel()
-
getCompactionController
protected CompactionController getCompactionController(java.util.Set<SSTableReader> toCompact)
-
partialCompactionsAcceptable
protected boolean partialCompactionsAcceptable()
-
getMaxDataAge
public static long getMaxDataAge(java.util.Collection<SSTableReader> sstables)
-
-