public class CompactionManager extends java.lang.Object implements CompactionManagerMBean
| Modifier and Type | Class and Description |
|---|---|
static interface |
CompactionManager.CompactionExecutorStatsCollector |
| Modifier and Type | Field and Description |
|---|---|
static int |
GC_ALL |
static CompactionManager |
instance |
static java.lang.ThreadLocal<java.lang.Boolean> |
isCompactionManager |
static java.lang.String |
MBEAN_OBJECT_NAME |
static int |
NO_GC |
| Constructor and Description |
|---|
CompactionManager() |
| Modifier and Type | Method and Description |
|---|---|
static SSTableWriter |
createWriter(ColumnFamilyStore cfs,
java.io.File compactionFileLocation,
int expectedBloomFilterSize,
SSTableReader sstable) |
void |
disableAutoCompaction() |
void |
forceUserDefinedCompaction(java.lang.String dataFiles)
Triggers the compaction of user specified sstables.
|
int |
getActiveCompactions() |
javax.management.openmbean.TabularData |
getCompactionHistory()
compaction history
|
java.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 pool
|
int |
getCoreValidationThreads()
Returns core size of validation thread pool
|
int |
getMaximumCompactorThreads()
Returns maximum size of compaction thread pool
|
int |
getMaximumValidatorThreads()
Returns size of validator thread pool
|
int |
getPendingTasks() |
com.google.common.util.concurrent.RateLimiter |
getRateLimiter()
Gets compaction rate limiter.
|
long |
getTotalBytesCompacted() |
long |
getTotalCompactionsCompleted() |
void |
interruptCompactionFor(java.lang.Iterable<CFMetaData> columnFamilies,
boolean interruptValidation)
Try to stop all of the compactions for given ColumnFamilies.
|
boolean |
isCompacting(java.lang.Iterable<ColumnFamilyStore> cfses) |
void |
performCleanup(ColumnFamilyStore cfStore,
CounterId.OneShotRenewer renewer) |
void |
performMaximal(ColumnFamilyStore cfStore) |
void |
performScrub(ColumnFamilyStore cfStore,
boolean skipCorrupted) |
void |
performSSTableRewrite(ColumnFamilyStore cfStore,
boolean excludeCurrentVersion) |
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 |
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 |
stopCompaction(java.lang.String type)
Stop all running compaction-like tasks having the provided
type. |
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) |
java.util.concurrent.Future<?> |
submitIndexBuild(SecondaryIndexBuilder builder)
Is not scheduled, because it is performing disjoint work from sstable compaction.
|
java.util.concurrent.Future<?> |
submitMaximal(ColumnFamilyStore cfStore,
int gcBefore) |
java.util.concurrent.Future<?> |
submitUserDefined(ColumnFamilyStore cfs,
java.util.Collection<Descriptor> dataFiles,
int gcBefore) |
java.util.concurrent.Future<java.lang.Object> |
submitValidation(ColumnFamilyStore cfStore,
Validator validator)
Does not mutate data, so is not scheduled.
|
public static final java.lang.String MBEAN_OBJECT_NAME
public static final CompactionManager instance
public static final int NO_GC
public static final int GC_ALL
public static final java.lang.ThreadLocal<java.lang.Boolean> isCompactionManager
public com.google.common.util.concurrent.RateLimiter getRateLimiter()
public java.util.List<java.util.concurrent.Future<?>> submitBackground(ColumnFamilyStore cfs)
public boolean isCompacting(java.lang.Iterable<ColumnFamilyStore> cfses)
public void performScrub(ColumnFamilyStore cfStore, boolean skipCorrupted) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
java.lang.InterruptedExceptionjava.util.concurrent.ExecutionExceptionpublic void performSSTableRewrite(ColumnFamilyStore cfStore, boolean excludeCurrentVersion) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
java.lang.InterruptedExceptionjava.util.concurrent.ExecutionExceptionpublic void performCleanup(ColumnFamilyStore cfStore, CounterId.OneShotRenewer renewer) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
java.lang.InterruptedExceptionjava.util.concurrent.ExecutionExceptionpublic void performMaximal(ColumnFamilyStore cfStore) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
java.lang.InterruptedExceptionjava.util.concurrent.ExecutionExceptionpublic java.util.concurrent.Future<?> submitMaximal(ColumnFamilyStore cfStore, int gcBefore)
public void forceUserDefinedCompaction(java.lang.String dataFiles)
CompactionManagerMBeanforceUserDefinedCompaction in interface CompactionManagerMBeandataFiles - a comma separated list of sstable filename to compactpublic java.util.concurrent.Future<?> submitUserDefined(ColumnFamilyStore cfs, java.util.Collection<Descriptor> dataFiles, int gcBefore)
public java.util.concurrent.Future<java.lang.Object> submitValidation(ColumnFamilyStore cfStore, Validator validator)
public void disableAutoCompaction()
public static SSTableWriter createWriter(ColumnFamilyStore cfs, java.io.File compactionFileLocation, int expectedBloomFilterSize, SSTableReader sstable)
public java.util.concurrent.Future<?> submitIndexBuild(SecondaryIndexBuilder builder)
public java.util.concurrent.Future<?> submitCacheWrite(AutoSavingCache.Writer writer)
public int getActiveCompactions()
public java.util.List<java.util.Map<java.lang.String,java.lang.String>> getCompactions()
CompactionManagerMBeangetCompactions in interface CompactionManagerMBeanpublic java.util.List<java.lang.String> getCompactionSummary()
CompactionManagerMBeangetCompactionSummary in interface CompactionManagerMBeanpublic javax.management.openmbean.TabularData getCompactionHistory()
CompactionManagerMBeangetCompactionHistory in interface CompactionManagerMBeanpublic long getTotalBytesCompacted()
getTotalBytesCompacted in interface CompactionManagerMBeanCompactionMetrics.bytesCompactedpublic long getTotalCompactionsCompleted()
getTotalCompactionsCompleted in interface CompactionManagerMBeanCompactionMetrics.totalCompactionsCompletedpublic int getPendingTasks()
getPendingTasks in interface CompactionManagerMBeanCompactionMetrics.pendingTaskspublic long getCompletedTasks()
getCompletedTasks in interface CompactionManagerMBeanCompactionMetrics.completedTaskspublic void stopCompaction(java.lang.String type)
CompactionManagerMBeantype.stopCompaction in interface CompactionManagerMBeantype - the type of compaction to stop. Can be one of:
- COMPACTION
- VALIDATION
- CLEANUP
- SCRUB
- INDEX_BUILDpublic int getCoreCompactorThreads()
CompactionManagerMBeangetCoreCompactorThreads in interface CompactionManagerMBeanpublic void setCoreCompactorThreads(int number)
CompactionManagerMBeansetCoreCompactorThreads in interface CompactionManagerMBeannumber - New maximum of compaction threadspublic int getMaximumCompactorThreads()
CompactionManagerMBeangetMaximumCompactorThreads in interface CompactionManagerMBeanpublic void setMaximumCompactorThreads(int number)
CompactionManagerMBeansetMaximumCompactorThreads in interface CompactionManagerMBeannumber - New maximum of compaction threadspublic int getCoreValidationThreads()
CompactionManagerMBeangetCoreValidationThreads in interface CompactionManagerMBeanpublic void setCoreValidationThreads(int number)
CompactionManagerMBeansetCoreValidationThreads in interface CompactionManagerMBeannumber - New maximum of compaction threadspublic int getMaximumValidatorThreads()
CompactionManagerMBeangetMaximumValidatorThreads in interface CompactionManagerMBeanpublic void setMaximumValidatorThreads(int number)
CompactionManagerMBeansetMaximumValidatorThreads in interface CompactionManagerMBeannumber - New maximum of validator threadspublic void interruptCompactionFor(java.lang.Iterable<CFMetaData> columnFamilies, boolean interruptValidation)
columnFamilies - The ColumnFamilies to try to stop compaction upon.interruptValidation - true if validation operations for repair should also be interruptedCopyright © 2015 The Apache Software Foundation