public abstract class CompactionContext
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected CompactionRequestImpl |
request |
Constructor and Description |
---|
CompactionContext() |
Modifier and Type | Method and Description |
---|---|
abstract java.util.List<Path> |
compact(ThroughputController throughputController,
User user) |
void |
forceSelect(CompactionRequestImpl request)
Forces external selection to be applied for this compaction.
|
CompactionRequestImpl |
getRequest() |
boolean |
hasSelection() |
abstract java.util.List<HStoreFile> |
preSelect(java.util.List<HStoreFile> filesCompacting)
Called before coprocessor preCompactSelection and should filter the candidates
for coprocessor; i.e.
|
abstract boolean |
select(java.util.List<HStoreFile> filesCompacting,
boolean isUserCompaction,
boolean mayUseOffPeak,
boolean forceMajor)
Called to select files for compaction.
|
protected CompactionRequestImpl request
public abstract java.util.List<HStoreFile> preSelect(java.util.List<HStoreFile> filesCompacting)
filesCompacting
- files currently compactingpublic abstract boolean select(java.util.List<HStoreFile> filesCompacting, boolean isUserCompaction, boolean mayUseOffPeak, boolean forceMajor) throws java.io.IOException
filesCompacting
- Files currently being compacted by other compactions.isUserCompaction
- Whether this is a user compaction.mayUseOffPeak
- Whether the underlying policy may assume it's off-peak hours.forceMajor
- Whether to force major compaction.java.io.IOException
public void forceSelect(CompactionRequestImpl request)
request
- The pre-cooked request with selection and other settings.public abstract java.util.List<Path> compact(ThroughputController throughputController, User user) throws java.io.IOException
java.io.IOException
public CompactionRequestImpl getRequest()
public boolean hasSelection()