public abstract class SortedCompactionPolicy extends CompactionPolicy
comConf, storeConfigInfo
Constructor and Description |
---|
SortedCompactionPolicy(Configuration conf,
StoreConfigInformation storeConfigInfo) |
Modifier and Type | Method and Description |
---|---|
protected java.util.ArrayList<HStoreFile> |
checkMinFilesCriteria(java.util.ArrayList<HStoreFile> candidates,
int minFiles) |
protected abstract CompactionRequestImpl |
createCompactionRequest(java.util.ArrayList<HStoreFile> candidateSelection,
boolean tryingMajor,
boolean mayUseOffPeak,
boolean mayBeStuck) |
protected java.util.ArrayList<HStoreFile> |
filterBulk(java.util.ArrayList<HStoreFile> candidates) |
protected java.util.ArrayList<HStoreFile> |
getCurrentEligibleFiles(java.util.ArrayList<HStoreFile> candidateFiles,
java.util.List<HStoreFile> filesCompacting) |
long |
getNextMajorCompactTime(java.util.Collection<HStoreFile> filesToCompact) |
abstract boolean |
needsCompaction(java.util.Collection<HStoreFile> storeFiles,
java.util.List<HStoreFile> filesCompacting) |
java.util.List<HStoreFile> |
preSelectCompactionForCoprocessor(java.util.Collection<HStoreFile> candidates,
java.util.List<HStoreFile> filesCompacting) |
protected void |
removeExcessFiles(java.util.ArrayList<HStoreFile> candidates,
boolean isUserCompaction,
boolean isMajorCompaction) |
CompactionRequestImpl |
selectCompaction(java.util.Collection<HStoreFile> candidateFiles,
java.util.List<HStoreFile> filesCompacting,
boolean isUserCompaction,
boolean mayUseOffPeak,
boolean forceMajor) |
abstract boolean |
shouldPerformMajorCompaction(java.util.Collection<HStoreFile> filesToCompact) |
protected java.util.ArrayList<HStoreFile> |
skipLargeFiles(java.util.ArrayList<HStoreFile> candidates,
boolean mayUseOffpeak) |
boolean |
throttleCompaction(long compactionSize) |
getConf, setConf
public SortedCompactionPolicy(Configuration conf, StoreConfigInformation storeConfigInfo)
public java.util.List<HStoreFile> preSelectCompactionForCoprocessor(java.util.Collection<HStoreFile> candidates, java.util.List<HStoreFile> filesCompacting)
public CompactionRequestImpl selectCompaction(java.util.Collection<HStoreFile> candidateFiles, java.util.List<HStoreFile> filesCompacting, boolean isUserCompaction, boolean mayUseOffPeak, boolean forceMajor) throws java.io.IOException
candidateFiles
- candidate files, ordered from oldest to newest by seqId. We rely on
DefaultStoreFileManager to sort the files by seqId to guarantee contiguous compaction based
on seqId for data consistency.java.io.IOException
protected abstract CompactionRequestImpl createCompactionRequest(java.util.ArrayList<HStoreFile> candidateSelection, boolean tryingMajor, boolean mayUseOffPeak, boolean mayBeStuck) throws java.io.IOException
java.io.IOException
public abstract boolean shouldPerformMajorCompaction(java.util.Collection<HStoreFile> filesToCompact) throws java.io.IOException
shouldPerformMajorCompaction
in class CompactionPolicy
filesToCompact
- Files to compact. Can be null.java.io.IOException
public long getNextMajorCompactTime(java.util.Collection<HStoreFile> filesToCompact)
filesToCompact
- public boolean throttleCompaction(long compactionSize)
throttleCompaction
in class CompactionPolicy
compactionSize
- Total size of some compactionpublic abstract boolean needsCompaction(java.util.Collection<HStoreFile> storeFiles, java.util.List<HStoreFile> filesCompacting)
protected java.util.ArrayList<HStoreFile> getCurrentEligibleFiles(java.util.ArrayList<HStoreFile> candidateFiles, java.util.List<HStoreFile> filesCompacting)
protected java.util.ArrayList<HStoreFile> skipLargeFiles(java.util.ArrayList<HStoreFile> candidates, boolean mayUseOffpeak)
candidates
- pre-filtrateprotected java.util.ArrayList<HStoreFile> filterBulk(java.util.ArrayList<HStoreFile> candidates)
candidates
- pre-filtrateprotected void removeExcessFiles(java.util.ArrayList<HStoreFile> candidates, boolean isUserCompaction, boolean isMajorCompaction)
candidates
- pre-filtrateprotected java.util.ArrayList<HStoreFile> checkMinFilesCriteria(java.util.ArrayList<HStoreFile> candidates, int minFiles)
candidates
- pre-filtrate