| 限定符和类型 | 字段和说明 |
|---|---|
static AtomicInteger |
currentTaskNum |
| 构造器和说明 |
|---|
CompactionTaskManager() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
abortCompaction(String fullStorageGroupName)
Abort all compactions of a storage group.
|
boolean |
addTaskToWaitingQueue(AbstractCompactionTask compactionTask)
This method submit the compaction task to the PriorityQueue in CompactionTaskManager.
|
void |
clearCandidateQueue() |
int |
getExecutingTaskCount() |
long |
getFinishTaskNum() |
ServiceType |
getID()
Get the name of the the service.
|
static CompactionTaskManager |
getInstance() |
com.google.common.util.concurrent.RateLimiter |
getMergeWriteRateLimiter() |
List<AbstractCompactionTask> |
getRunningCompactionTaskList() |
int |
getTotalTaskCount() |
static void |
mergeRateLimiterAcquire(com.google.common.util.concurrent.RateLimiter limiter,
long bytesLength)
wait by throughoutMbPerSec limit to avoid continuous Write Or Read
|
void |
removeRunningTaskFromList(AbstractCompactionTask task) |
void |
restart() |
void |
start()
Start current service.
|
void |
stop()
Stop current service.
|
Future<Void> |
submitSubTask(Callable<Void> subCompactionTask) |
Future<CompactionTaskSummary> |
submitTask(Callable<CompactionTaskSummary> compactionMergeTask)
This method will directly submit a task to thread pool if there is available thread.
|
void |
submitTaskFromTaskQueue()
This method will submit task cached in queue with most priority to execution thread pool if
there is available thread.
|
void |
waitAllCompactionFinish() |
void |
waitAndStop(long milliseconds) |
public static volatile AtomicInteger currentTaskNum
public static CompactionTaskManager getInstance()
public void stop()
IServicepublic void waitAndStop(long milliseconds)
waitAndStop 在接口中 IServicepublic void waitAllCompactionFinish()
public ServiceType getID()
IServicepublic boolean addTaskToWaitingQueue(AbstractCompactionTask compactionTask) throws InterruptedException
public void submitTaskFromTaskQueue()
public com.google.common.util.concurrent.RateLimiter getMergeWriteRateLimiter()
public static void mergeRateLimiterAcquire(com.google.common.util.concurrent.RateLimiter limiter,
long bytesLength)
public void removeRunningTaskFromList(AbstractCompactionTask task)
public Future<CompactionTaskSummary> submitTask(Callable<CompactionTaskSummary> compactionMergeTask) throws RejectedExecutionException
RejectedExecutionExceptionpublic void abortCompaction(String fullStorageGroupName)
public int getExecutingTaskCount()
public int getTotalTaskCount()
public List<AbstractCompactionTask> getRunningCompactionTaskList()
public long getFinishTaskNum()
public void restart()
throws InterruptedException
public void clearCandidateQueue()
Copyright © 2022 The Apache Software Foundation. All rights reserved.