Class CompactionManager
- java.lang.Object
-
- org.apache.cassandra.db.compaction.CompactionManager
-
- All Implemented Interfaces:
CompactionManagerMBean
public class CompactionManager extends java.lang.Object implements CompactionManagerMBean
A singleton which manages a private executor of ongoing compactions.
Scheduling for compaction is accomplished by swapping sstables to be compacted into a set via Tracker. New scheduling attempts will ignore currently compacting sstables.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CompactionManager.AllSSTableOpStatus
static interface
CompactionManager.CompactionPauser
static class
CompactionManager.ValidationExecutor
-
Field Summary
Fields Modifier and Type Field Description ActiveCompactions
active
java.util.concurrent.atomic.AtomicInteger
currentlyBackgroundUpgrading
static int
GC_ALL
static CompactionManager
instance
static io.netty.util.concurrent.FastThreadLocal<java.lang.Boolean>
isCompactionManager
static java.lang.String
MBEAN_OBJECT_NAME
static int
NO_GC
-
Constructor Summary
Constructors Constructor Description CompactionManager()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SSTableWriter
createWriter(ColumnFamilyStore cfs, java.io.File compactionFileLocation, long expectedBloomFilterSize, long repairedAt, java.util.UUID pendingRepair, boolean isTransient, SSTableReader sstable, LifecycleTransaction txn)
static SSTableWriter
createWriterForAntiCompaction(ColumnFamilyStore cfs, java.io.File compactionFileLocation, int expectedBloomFilterSize, long repairedAt, java.util.UUID pendingRepair, boolean isTransient, java.util.Collection<SSTableReader> sstables, ILifecycleTransaction txn)
void
disableAutoCompaction()
void
finishCompactionsAndShutdown(long timeout, java.util.concurrent.TimeUnit unit)
void
forceCompactionForTokenRange(ColumnFamilyStore cfStore, java.util.Collection<Range<Token>> ranges)
Forces a major compaction of specified token ranges of the specified column family.void
forceShutdown()
Shutdowns both compaction and validation executors, cancels running compaction / validation, and waits for tasks to complete if tasks were not cancelable.void
forceUserDefinedCleanup(java.lang.String dataFiles)
Triggers the cleanup of user specified sstables.void
forceUserDefinedCompaction(java.lang.String dataFiles)
Triggers the compaction of user specified sstables.int
getActiveCompactions()
static CompactionIterator
getAntiCompactionIterator(java.util.List<ISSTableScanner> scanners, CompactionController controller, int nowInSec, java.util.UUID timeUUID, ActiveCompactionsTracker activeCompactions, java.util.function.BooleanSupplier isCancelled)
boolean
getAutomaticSSTableUpgradeEnabled()
Get automatic sstable upgrade enabledorg.apache.cassandra.db.compaction.CompactionManager.BackgroundCompactionCandidate
getBackgroundCompactionCandidate(ColumnFamilyStore cfs)
javax.management.openmbean.TabularData
getCompactionHistory()
compaction historyjava.util.List<java.util.Map<java.lang.String,java.lang.String>>
getCompactions()
List of running compaction objects.java.util.List<java.lang.String>
getCompactionSummary()
List of running compaction summary strings.long
getCompletedTasks()
int
getCoreCompactorThreads()
Returns core size of compaction thread poolint
getCoreValidationThreads()
Returns core size of validation thread poolint
getCoreViewBuildThreads()
Returns core size of view build thread poolstatic int
getDefaultGcBefore(ColumnFamilyStore cfs, int nowInSec)
boolean
getDisableSTCSInL0()
Enable / disable STCS in L0int
getMaxConcurrentAutoUpgradeTasks()
Get the number of concurrent sstable upgrade tasks we should run when automatic sstable upgrades are enabledint
getMaximumCompactorThreads()
Returns maximum size of compaction thread poolint
getMaximumValidatorThreads()
Returns size of validator thread poolint
getMaximumViewBuildThreads()
Returns size of view build thread poolCompactionMetrics
getMetrics()
int
getPendingTasks()
com.google.common.util.concurrent.RateLimiter
getRateLimiter()
Gets compaction rate limiter.java.util.List<CompactionInfo>
getSSTableTasks()
long
getTotalBytesCompacted()
long
getTotalCompactionsCompleted()
void
incrementAborted()
void
incrementCompactionsReduced()
void
incrementSstablesDropppedFromCompactions(long num)
void
interruptCompactionFor(java.lang.Iterable<TableMetadata> columnFamilies, java.util.function.Predicate<SSTableReader> sstablePredicate, boolean interruptValidation)
Try to stop all of the compactions for given ColumnFamilies.void
interruptCompactionForCFs(java.lang.Iterable<ColumnFamilyStore> cfss, java.util.function.Predicate<SSTableReader> sstablePredicate, boolean interruptValidation)
boolean
isCompacting(java.lang.Iterable<ColumnFamilyStore> cfses, java.util.function.Predicate<SSTableReader> sstablePredicate)
boolean
isGlobalCompactionPaused()
Return whether "global" compactions should be paused, used by ColumnFamilyStore#runWithCompactionsDisabled a global compaction is one that includes several/all tables, currently only IndexSummaryBuilderstatic boolean
needsCleanup(SSTableReader sstable, java.util.Collection<Range<Token>> ownedRanges)
Determines if a cleanup would actually remove any data in this SSTable based on a set of owned ranges.CompactionManager.CompactionPauser
pauseGlobalCompaction()
void
performAnticompaction(ColumnFamilyStore cfs, RangesAtEndpoint replicas, Refs<SSTableReader> validatedForRepair, LifecycleTransaction txn, java.util.UUID sessionID, java.util.function.BooleanSupplier isCancelled)
Make sure the {validatedForRepair} are marked for compaction before calling this.CompactionManager.AllSSTableOpStatus
performCleanup(ColumnFamilyStore cfStore, int jobs)
CompactionManager.AllSSTableOpStatus
performGarbageCollection(ColumnFamilyStore cfStore, CompactionParams.TombstoneOption tombstoneOption, int jobs)
void
performMaximal(ColumnFamilyStore cfStore, boolean splitOutput)
CompactionManager.AllSSTableOpStatus
performScrub(ColumnFamilyStore cfs, boolean skipCorrupted, boolean checkData, boolean reinsertOverflowedTTL, int jobs)
CompactionManager.AllSSTableOpStatus
performScrub(ColumnFamilyStore cfs, boolean skipCorrupted, boolean checkData, int jobs)
CompactionManager.AllSSTableOpStatus
performSSTableRewrite(ColumnFamilyStore cfs, boolean excludeCurrentVersion, int jobs)
CompactionManager.AllSSTableOpStatus
performVerify(ColumnFamilyStore cfs, Verifier.Options options)
CompactionManager.AllSSTableOpStatus
relocateSSTables(ColumnFamilyStore cfs, int jobs)
java.util.List<SSTableReader>
runIndexSummaryRedistribution(IndexSummaryRedistribution redistribution)
void
setAutomaticSSTableUpgradeEnabled(boolean enabled)
Set if automatic sstable upgrade should be enabledvoid
setConcurrentCompactors(int value)
void
setConcurrentValidations()
void
setConcurrentViewBuilders(int value)
void
setCoreCompactorThreads(int number)
Allows user to resize maximum size of the compaction thread pool.void
setCoreValidationThreads(int number)
Allows user to resize maximum size of the compaction thread pool.void
setCoreViewBuildThreads(int number)
Allows user to resize maximum size of the view build thread pool.void
setDisableSTCSInL0(boolean disabled)
void
setMaxConcurrentAutoUpgradeTasks(int value)
Set the number of concurrent sstable upgrade tasks we should run when automatic sstable upgrades are enabledvoid
setMaximumCompactorThreads(int number)
Allows user to resize maximum size of the compaction thread pool.void
setMaximumValidatorThreads(int number)
Allows user to resize maximum size of the validator thread pool.void
setMaximumViewBuildThreads(int number)
Allows user to resize maximum size of the view build thread pool.void
setRate(double throughPutMbPerSec)
Sets the rate for the rate limiter.void
stopCompaction(java.lang.String type)
Stop all running compaction-like tasks having the providedtype
.void
stopCompactionById(java.lang.String compactionId)
Stop an individual running compaction using the compactionId.java.util.List<java.util.concurrent.Future<?>>
submitBackground(ColumnFamilyStore cfs)
Call this whenever a compaction might be needed on the given columnfamily.java.util.concurrent.Future<?>
submitCacheWrite(AutoSavingCache.Writer writer)
com.google.common.util.concurrent.ListenableFuture<?>
submitIndexBuild(SecondaryIndexBuilder builder)
Is not scheduled, because it is performing disjoint work from sstable compaction.java.util.List<java.util.concurrent.Future<?>>
submitMaximal(ColumnFamilyStore cfStore, int gcBefore, boolean splitOutput)
com.google.common.util.concurrent.ListenableFuture<?>
submitPendingAntiCompaction(ColumnFamilyStore cfs, RangesAtEndpoint tokenRanges, Refs<SSTableReader> sstables, LifecycleTransaction txn, java.util.UUID sessionId, java.util.function.BooleanSupplier isCancelled)
Splits the given token ranges of the given sstables into a pending repair silojava.util.concurrent.Future<?>
submitUserDefined(ColumnFamilyStore cfs, java.util.Collection<Descriptor> dataFiles, int gcBefore)
java.util.concurrent.Future<?>
submitValidation(java.util.concurrent.Callable<java.lang.Object> validation)
com.google.common.util.concurrent.ListenableFuture<java.lang.Long>
submitViewBuilder(ViewBuilderTask task)
void
waitForCessation(java.lang.Iterable<ColumnFamilyStore> cfss, java.util.function.Predicate<SSTableReader> sstablePredicate)
-
-
-
Field Detail
-
MBEAN_OBJECT_NAME
public static final java.lang.String MBEAN_OBJECT_NAME
- See Also:
- Constant Field Values
-
instance
public static final CompactionManager instance
-
currentlyBackgroundUpgrading
public final java.util.concurrent.atomic.AtomicInteger currentlyBackgroundUpgrading
-
NO_GC
public static final int NO_GC
- See Also:
- Constant Field Values
-
GC_ALL
public static final int GC_ALL
- See Also:
- Constant Field Values
-
isCompactionManager
public static final io.netty.util.concurrent.FastThreadLocal<java.lang.Boolean> isCompactionManager
-
active
public final ActiveCompactions active
-
-
Method Detail
-
getMetrics
public CompactionMetrics getMetrics()
-
getRateLimiter
public com.google.common.util.concurrent.RateLimiter getRateLimiter()
Gets compaction rate limiter. Rate unit is bytes per sec.- Returns:
- RateLimiter with rate limit set
-
setRate
public void setRate(double throughPutMbPerSec)
Sets the rate for the rate limiter. When compaction_throughput_mb_per_sec is 0 or node is bootstrapping, this sets the rate to Double.MAX_VALUE bytes per second.- Parameters:
throughPutMbPerSec
- throughput to set in mb per second
-
submitBackground
public java.util.List<java.util.concurrent.Future<?>> submitBackground(ColumnFamilyStore cfs)
Call this whenever a compaction might be needed on the given columnfamily. It's okay to over-call (within reason) if a call is unnecessary, it will turn into a no-op in the bucketing/candidate-scan phase.
-
isCompacting
public boolean isCompacting(java.lang.Iterable<ColumnFamilyStore> cfses, java.util.function.Predicate<SSTableReader> sstablePredicate)
-
forceShutdown
public void forceShutdown()
Shutdowns both compaction and validation executors, cancels running compaction / validation, and waits for tasks to complete if tasks were not cancelable.
-
finishCompactionsAndShutdown
public void finishCompactionsAndShutdown(long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
getBackgroundCompactionCandidate
public org.apache.cassandra.db.compaction.CompactionManager.BackgroundCompactionCandidate getBackgroundCompactionCandidate(ColumnFamilyStore cfs)
-
performScrub
public CompactionManager.AllSSTableOpStatus performScrub(ColumnFamilyStore cfs, boolean skipCorrupted, boolean checkData, int jobs) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
- Throws:
java.lang.InterruptedException
java.util.concurrent.ExecutionException
-
performScrub
public CompactionManager.AllSSTableOpStatus performScrub(ColumnFamilyStore cfs, boolean skipCorrupted, boolean checkData, boolean reinsertOverflowedTTL, int jobs) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
- Throws:
java.lang.InterruptedException
java.util.concurrent.ExecutionException
-
performVerify
public CompactionManager.AllSSTableOpStatus performVerify(ColumnFamilyStore cfs, Verifier.Options options) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
- Throws:
java.lang.InterruptedException
java.util.concurrent.ExecutionException
-
performSSTableRewrite
public CompactionManager.AllSSTableOpStatus performSSTableRewrite(ColumnFamilyStore cfs, boolean excludeCurrentVersion, int jobs) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
- Throws:
java.lang.InterruptedException
java.util.concurrent.ExecutionException
-
performCleanup
public CompactionManager.AllSSTableOpStatus performCleanup(ColumnFamilyStore cfStore, int jobs) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
- Throws:
java.lang.InterruptedException
java.util.concurrent.ExecutionException
-
performGarbageCollection
public CompactionManager.AllSSTableOpStatus performGarbageCollection(ColumnFamilyStore cfStore, CompactionParams.TombstoneOption tombstoneOption, int jobs) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
- Throws:
java.lang.InterruptedException
java.util.concurrent.ExecutionException
-
relocateSSTables
public CompactionManager.AllSSTableOpStatus relocateSSTables(ColumnFamilyStore cfs, int jobs) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
submitPendingAntiCompaction
public com.google.common.util.concurrent.ListenableFuture<?> submitPendingAntiCompaction(ColumnFamilyStore cfs, RangesAtEndpoint tokenRanges, Refs<SSTableReader> sstables, LifecycleTransaction txn, java.util.UUID sessionId, java.util.function.BooleanSupplier isCancelled)
Splits the given token ranges of the given sstables into a pending repair silo
-
performAnticompaction
public void performAnticompaction(ColumnFamilyStore cfs, RangesAtEndpoint replicas, Refs<SSTableReader> validatedForRepair, LifecycleTransaction txn, java.util.UUID sessionID, java.util.function.BooleanSupplier isCancelled) throws java.io.IOException
Make sure the {validatedForRepair} are marked for compaction before calling this. Caller must reference the validatedForRepair sstables (via ParentRepairSession.getActiveRepairedSSTableRefs(..)).- Parameters:
cfs
-replicas
- token ranges to be repairedvalidatedForRepair
- SSTables containing the repaired ranges. Should be referenced before passing them.sessionID
- the repair session we're anti-compacting forisCancelled
- function that indicates if active anti-compaction should be canceled- Throws:
java.lang.InterruptedException
java.io.IOException
-
performMaximal
public void performMaximal(ColumnFamilyStore cfStore, boolean splitOutput)
-
submitMaximal
public java.util.List<java.util.concurrent.Future<?>> submitMaximal(ColumnFamilyStore cfStore, int gcBefore, boolean splitOutput)
-
forceCompactionForTokenRange
public void forceCompactionForTokenRange(ColumnFamilyStore cfStore, java.util.Collection<Range<Token>> ranges)
Forces a major compaction of specified token ranges of the specified column family.The token ranges will be interpreted as closed intervals to match the closed interval defined by the first and last keys of a sstable, even though the
Range
class is suppossed to be half-open by definition.- Parameters:
cfStore
- The column family store to be compacted.ranges
- The token ranges to be compacted, interpreted as closed intervals.
-
forceUserDefinedCompaction
public void forceUserDefinedCompaction(java.lang.String dataFiles)
Description copied from interface:CompactionManagerMBean
Triggers the compaction of user specified sstables. You can specify files from various keyspaces and columnfamilies. If you do so, user defined compaction is performed several times to the groups of files in the same keyspace/columnfamily.- Specified by:
forceUserDefinedCompaction
in interfaceCompactionManagerMBean
- Parameters:
dataFiles
- a comma separated list of sstable file to compact. must contain keyspace and columnfamily name in path(for 2.1+) or file name itself.
-
forceUserDefinedCleanup
public void forceUserDefinedCleanup(java.lang.String dataFiles)
Description copied from interface:CompactionManagerMBean
Triggers the cleanup of user specified sstables. You can specify files from various keyspaces and columnfamilies. If you do so, cleanup is performed each file individually- Specified by:
forceUserDefinedCleanup
in interfaceCompactionManagerMBean
- Parameters:
dataFiles
- a comma separated list of sstable file to cleanup. must contain keyspace and columnfamily name in path(for 2.1+) or file name itself.
-
submitUserDefined
public java.util.concurrent.Future<?> submitUserDefined(ColumnFamilyStore cfs, java.util.Collection<Descriptor> dataFiles, int gcBefore)
-
submitValidation
public java.util.concurrent.Future<?> submitValidation(java.util.concurrent.Callable<java.lang.Object> validation)
-
disableAutoCompaction
public void disableAutoCompaction()
-
needsCleanup
public static boolean needsCleanup(SSTableReader sstable, java.util.Collection<Range<Token>> ownedRanges)
Determines if a cleanup would actually remove any data in this SSTable based on a set of owned ranges.
-
createWriter
public static SSTableWriter createWriter(ColumnFamilyStore cfs, java.io.File compactionFileLocation, long expectedBloomFilterSize, long repairedAt, java.util.UUID pendingRepair, boolean isTransient, SSTableReader sstable, LifecycleTransaction txn)
-
createWriterForAntiCompaction
public static SSTableWriter createWriterForAntiCompaction(ColumnFamilyStore cfs, java.io.File compactionFileLocation, int expectedBloomFilterSize, long repairedAt, java.util.UUID pendingRepair, boolean isTransient, java.util.Collection<SSTableReader> sstables, ILifecycleTransaction txn)
-
getAntiCompactionIterator
public static CompactionIterator getAntiCompactionIterator(java.util.List<ISSTableScanner> scanners, CompactionController controller, int nowInSec, java.util.UUID timeUUID, ActiveCompactionsTracker activeCompactions, java.util.function.BooleanSupplier isCancelled)
-
submitIndexBuild
public com.google.common.util.concurrent.ListenableFuture<?> submitIndexBuild(SecondaryIndexBuilder builder)
Is not scheduled, because it is performing disjoint work from sstable compaction.
-
submitCacheWrite
public java.util.concurrent.Future<?> submitCacheWrite(AutoSavingCache.Writer writer)
-
runIndexSummaryRedistribution
public java.util.List<SSTableReader> runIndexSummaryRedistribution(IndexSummaryRedistribution redistribution) throws java.io.IOException
- Throws:
java.io.IOException
-
getDefaultGcBefore
public static int getDefaultGcBefore(ColumnFamilyStore cfs, int nowInSec)
-
submitViewBuilder
public com.google.common.util.concurrent.ListenableFuture<java.lang.Long> submitViewBuilder(ViewBuilderTask task)
-
getActiveCompactions
public int getActiveCompactions()
-
incrementAborted
public void incrementAborted()
-
incrementCompactionsReduced
public void incrementCompactionsReduced()
-
incrementSstablesDropppedFromCompactions
public void incrementSstablesDropppedFromCompactions(long num)
-
getCompactions
public java.util.List<java.util.Map<java.lang.String,java.lang.String>> getCompactions()
Description copied from interface:CompactionManagerMBean
List of running compaction objects.- Specified by:
getCompactions
in interfaceCompactionManagerMBean
-
getCompactionSummary
public java.util.List<java.lang.String> getCompactionSummary()
Description copied from interface:CompactionManagerMBean
List of running compaction summary strings.- Specified by:
getCompactionSummary
in interfaceCompactionManagerMBean
-
getCompactionHistory
public javax.management.openmbean.TabularData getCompactionHistory()
Description copied from interface:CompactionManagerMBean
compaction history- Specified by:
getCompactionHistory
in interfaceCompactionManagerMBean
-
getTotalBytesCompacted
public long getTotalBytesCompacted()
-
getTotalCompactionsCompleted
public long getTotalCompactionsCompleted()
-
getPendingTasks
public int getPendingTasks()
-
getCompletedTasks
public long getCompletedTasks()
-
stopCompaction
public void stopCompaction(java.lang.String type)
Description copied from interface:CompactionManagerMBean
Stop all running compaction-like tasks having the providedtype
.- Specified by:
stopCompaction
in interfaceCompactionManagerMBean
- Parameters:
type
- the type of compaction to stop. Can be one of: - COMPACTION - VALIDATION - CLEANUP - SCRUB - INDEX_BUILD
-
stopCompactionById
public void stopCompactionById(java.lang.String compactionId)
Description copied from interface:CompactionManagerMBean
Stop an individual running compaction using the compactionId.- Specified by:
stopCompactionById
in interfaceCompactionManagerMBean
- Parameters:
compactionId
- Compaction ID of compaction to stop. Such IDs can be found in the transaction log files whose name starts with compaction_, located in the table transactions folder.
-
setConcurrentCompactors
public void setConcurrentCompactors(int value)
-
setConcurrentValidations
public void setConcurrentValidations()
-
setConcurrentViewBuilders
public void setConcurrentViewBuilders(int value)
-
getCoreCompactorThreads
public int getCoreCompactorThreads()
Description copied from interface:CompactionManagerMBean
Returns core size of compaction thread pool- Specified by:
getCoreCompactorThreads
in interfaceCompactionManagerMBean
-
setCoreCompactorThreads
public void setCoreCompactorThreads(int number)
Description copied from interface:CompactionManagerMBean
Allows user to resize maximum size of the compaction thread pool.- Specified by:
setCoreCompactorThreads
in interfaceCompactionManagerMBean
- Parameters:
number
- New maximum of compaction threads
-
getMaximumCompactorThreads
public int getMaximumCompactorThreads()
Description copied from interface:CompactionManagerMBean
Returns maximum size of compaction thread pool- Specified by:
getMaximumCompactorThreads
in interfaceCompactionManagerMBean
-
setMaximumCompactorThreads
public void setMaximumCompactorThreads(int number)
Description copied from interface:CompactionManagerMBean
Allows user to resize maximum size of the compaction thread pool.- Specified by:
setMaximumCompactorThreads
in interfaceCompactionManagerMBean
- Parameters:
number
- New maximum of compaction threads
-
getCoreValidationThreads
public int getCoreValidationThreads()
Description copied from interface:CompactionManagerMBean
Returns core size of validation thread pool- Specified by:
getCoreValidationThreads
in interfaceCompactionManagerMBean
-
setCoreValidationThreads
public void setCoreValidationThreads(int number)
Description copied from interface:CompactionManagerMBean
Allows user to resize maximum size of the compaction thread pool.- Specified by:
setCoreValidationThreads
in interfaceCompactionManagerMBean
- Parameters:
number
- New maximum of compaction threads
-
getMaximumValidatorThreads
public int getMaximumValidatorThreads()
Description copied from interface:CompactionManagerMBean
Returns size of validator thread pool- Specified by:
getMaximumValidatorThreads
in interfaceCompactionManagerMBean
-
setMaximumValidatorThreads
public void setMaximumValidatorThreads(int number)
Description copied from interface:CompactionManagerMBean
Allows user to resize maximum size of the validator thread pool.- Specified by:
setMaximumValidatorThreads
in interfaceCompactionManagerMBean
- Parameters:
number
- New maximum of validator threads
-
getDisableSTCSInL0
public boolean getDisableSTCSInL0()
Description copied from interface:CompactionManagerMBean
Enable / disable STCS in L0- Specified by:
getDisableSTCSInL0
in interfaceCompactionManagerMBean
-
setDisableSTCSInL0
public void setDisableSTCSInL0(boolean disabled)
- Specified by:
setDisableSTCSInL0
in interfaceCompactionManagerMBean
-
getCoreViewBuildThreads
public int getCoreViewBuildThreads()
Description copied from interface:CompactionManagerMBean
Returns core size of view build thread pool- Specified by:
getCoreViewBuildThreads
in interfaceCompactionManagerMBean
-
setCoreViewBuildThreads
public void setCoreViewBuildThreads(int number)
Description copied from interface:CompactionManagerMBean
Allows user to resize maximum size of the view build thread pool.- Specified by:
setCoreViewBuildThreads
in interfaceCompactionManagerMBean
- Parameters:
number
- New maximum of view build threads
-
getMaximumViewBuildThreads
public int getMaximumViewBuildThreads()
Description copied from interface:CompactionManagerMBean
Returns size of view build thread pool- Specified by:
getMaximumViewBuildThreads
in interfaceCompactionManagerMBean
-
setMaximumViewBuildThreads
public void setMaximumViewBuildThreads(int number)
Description copied from interface:CompactionManagerMBean
Allows user to resize maximum size of the view build thread pool.- Specified by:
setMaximumViewBuildThreads
in interfaceCompactionManagerMBean
- Parameters:
number
- New maximum of view build threads
-
getAutomaticSSTableUpgradeEnabled
public boolean getAutomaticSSTableUpgradeEnabled()
Description copied from interface:CompactionManagerMBean
Get automatic sstable upgrade enabled- Specified by:
getAutomaticSSTableUpgradeEnabled
in interfaceCompactionManagerMBean
-
setAutomaticSSTableUpgradeEnabled
public void setAutomaticSSTableUpgradeEnabled(boolean enabled)
Description copied from interface:CompactionManagerMBean
Set if automatic sstable upgrade should be enabled- Specified by:
setAutomaticSSTableUpgradeEnabled
in interfaceCompactionManagerMBean
-
getMaxConcurrentAutoUpgradeTasks
public int getMaxConcurrentAutoUpgradeTasks()
Description copied from interface:CompactionManagerMBean
Get the number of concurrent sstable upgrade tasks we should run when automatic sstable upgrades are enabled- Specified by:
getMaxConcurrentAutoUpgradeTasks
in interfaceCompactionManagerMBean
-
setMaxConcurrentAutoUpgradeTasks
public void setMaxConcurrentAutoUpgradeTasks(int value)
Description copied from interface:CompactionManagerMBean
Set the number of concurrent sstable upgrade tasks we should run when automatic sstable upgrades are enabled- Specified by:
setMaxConcurrentAutoUpgradeTasks
in interfaceCompactionManagerMBean
-
interruptCompactionFor
public void interruptCompactionFor(java.lang.Iterable<TableMetadata> columnFamilies, java.util.function.Predicate<SSTableReader> sstablePredicate, boolean interruptValidation)
Try to stop all of the compactions for given ColumnFamilies. Note that this method does not wait for all compactions to finish; you'll need to loop against isCompacting if you want that behavior.- Parameters:
columnFamilies
- The ColumnFamilies to try to stop compaction upon.sstablePredicate
- the sstable predicate to match oninterruptValidation
- true if validation operations for repair should also be interrupted
-
interruptCompactionForCFs
public void interruptCompactionForCFs(java.lang.Iterable<ColumnFamilyStore> cfss, java.util.function.Predicate<SSTableReader> sstablePredicate, boolean interruptValidation)
-
waitForCessation
public void waitForCessation(java.lang.Iterable<ColumnFamilyStore> cfss, java.util.function.Predicate<SSTableReader> sstablePredicate)
-
getSSTableTasks
public java.util.List<CompactionInfo> getSSTableTasks()
-
isGlobalCompactionPaused
public boolean isGlobalCompactionPaused()
Return whether "global" compactions should be paused, used by ColumnFamilyStore#runWithCompactionsDisabled a global compaction is one that includes several/all tables, currently only IndexSummaryBuilder
-
pauseGlobalCompaction
public CompactionManager.CompactionPauser pauseGlobalCompaction()
-
-