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
,UnifiedCompactionTask
public class CompactionTask extends AbstractCompactionTask
-
-
Field Summary
Fields Modifier and Type Field Description protected long
gcBefore
protected boolean
keepOriginals
protected static org.slf4j.Logger
logger
protected static long
totalBytesCompacted
-
Fields inherited from class org.apache.cassandra.db.compaction.AbstractCompactionTask
cfs, compactionType, isUserDefined, transaction
-
-
Constructor Summary
Constructors Constructor Description CompactionTask(ColumnFamilyStore cfs, LifecycleTransaction txn, long gcBefore)
CompactionTask(ColumnFamilyStore cfs, LifecycleTransaction txn, long gcBefore, boolean keepOriginals)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static long
addToTotalBytesCompacted(long bytesCompacted)
protected boolean
buildCompactionCandidatesForAvailableDiskSpace(java.util.Set<SSTableReader> fullyExpiredSSTables, TimeUUID taskId)
protected int
executeInternal(ActiveCompactionsTracker activeCompactions)
CompactionAwareWriter
getCompactionAwareWriter(ColumnFamilyStore cfs, Directories directories, LifecycleTransaction transaction, java.util.Set<SSTableReader> nonExpiredSSTables)
protected CompactionController
getCompactionController(java.util.Set<SSTableReader> toCompact)
protected Directories
getDirectories()
static boolean
getIsTransient(java.util.Set<SSTableReader> sstables)
protected int
getLevel()
static long
getMaxDataAge(java.util.Collection<SSTableReader> sstables)
static long
getMinRepairedAt(java.util.Set<SSTableReader> actuallyCompact)
static TimeUUID
getPendingRepair(java.util.Set<SSTableReader> sstables)
protected boolean
partialCompactionsAcceptable()
boolean
reduceScopeForLimitedSpace(java.util.Set<SSTableReader> nonExpiredSSTables, long expectedSize)
protected void
runMayThrow()
For internal use and testing only.static java.lang.String
updateCompactionHistory(TimeUUID taskId, java.lang.String keyspaceName, java.lang.String columnFamilyName, long[] mergedRowCounts, long startSize, long endSize, java.util.Map<java.lang.String,java.lang.String> compactionProperties)
-
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, long gcBefore)
-
CompactionTask
public CompactionTask(ColumnFamilyStore cfs, LifecycleTransaction txn, long gcBefore, boolean keepOriginals)
-
-
Method Detail
-
addToTotalBytesCompacted
public static long addToTotalBytesCompacted(long bytesCompacted)
-
executeInternal
protected int executeInternal(ActiveCompactionsTracker activeCompactions)
- Specified by:
executeInternal
in classAbstractCompactionTask
-
reduceScopeForLimitedSpace
public boolean reduceScopeForLimitedSpace(java.util.Set<SSTableReader> nonExpiredSSTables, long expectedSize)
-
runMayThrow
protected void runMayThrow() throws java.lang.Exception
For 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:
runMayThrow
in classWrappedRunnable
- Throws:
java.lang.Exception
-
getCompactionAwareWriter
public CompactionAwareWriter getCompactionAwareWriter(ColumnFamilyStore cfs, Directories directories, LifecycleTransaction transaction, java.util.Set<SSTableReader> nonExpiredSSTables)
- Specified by:
getCompactionAwareWriter
in classAbstractCompactionTask
-
updateCompactionHistory
public static java.lang.String updateCompactionHistory(TimeUUID taskId, java.lang.String keyspaceName, java.lang.String columnFamilyName, long[] mergedRowCounts, long startSize, long endSize, java.util.Map<java.lang.String,java.lang.String> compactionProperties)
-
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, TimeUUID taskId)
-
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)
-
-