@InterfaceAudience.LimitedPrivate(value="Configuration") public class DateTieredCompactionPolicy extends SortedCompactionPolicy
| Modifier and Type | Field and Description |
|---|---|
private RatioBasedCompactionPolicy |
compactionPolicyPerWindow |
private static org.slf4j.Logger |
LOG |
private CompactionWindowFactory |
windowFactory |
comConf, storeConfigInfo| Constructor and Description |
|---|
DateTieredCompactionPolicy(org.apache.hadoop.conf.Configuration conf,
StoreConfigInformation storeConfigInfo) |
| Modifier and Type | Method and Description |
|---|---|
protected CompactionRequestImpl |
createCompactionRequest(ArrayList<HStoreFile> candidateSelection,
boolean tryingMajor,
boolean mayUseOffPeak,
boolean mayBeStuck) |
private DateTieredCompactionRequest |
generateCompactionRequest(ArrayList<HStoreFile> storeFiles,
CompactionWindow window,
boolean mayUseOffPeak,
boolean mayBeStuck,
int minThreshold) |
private List<Long> |
getCompactBoundariesForMajor(Collection<HStoreFile> filesToCompact,
long now)
Return a list of boundaries for multiple compaction output in ascending order.
|
private static List<Long> |
getCompactionBoundariesForMinor(CompactionWindow window,
boolean singleOutput) |
private CompactionWindow |
getIncomingWindow(long now) |
private static long |
getOldestToCompact(long maxAgeMillis,
long now) |
boolean |
needsCompaction(Collection<HStoreFile> storeFiles,
List<HStoreFile> filesCompacting)
Heuristics for guessing whether we need minor compaction.
|
CompactionRequestImpl |
selectMajorCompaction(ArrayList<HStoreFile> candidateSelection) |
CompactionRequestImpl |
selectMinorCompaction(ArrayList<HStoreFile> candidateSelection,
boolean mayUseOffPeak,
boolean mayBeStuck)
We receive store files sorted in ascending order by seqId then scan the list of files.
|
boolean |
shouldPerformMajorCompaction(Collection<HStoreFile> filesToCompact) |
checkMinFilesCriteria, filterBulk, getCurrentEligibleFiles, getNextMajorCompactTime, preSelectCompactionForCoprocessor, removeExcessFiles, selectCompaction, skipLargeFiles, throttleCompactiongetConf, setConfprivate static final org.slf4j.Logger LOG
private final RatioBasedCompactionPolicy compactionPolicyPerWindow
private final CompactionWindowFactory windowFactory
public DateTieredCompactionPolicy(org.apache.hadoop.conf.Configuration conf, StoreConfigInformation storeConfigInfo) throws IOException
IOExceptionpublic boolean needsCompaction(Collection<HStoreFile> storeFiles, List<HStoreFile> filesCompacting)
needsCompaction in class SortedCompactionPolicypublic boolean shouldPerformMajorCompaction(Collection<HStoreFile> filesToCompact) throws IOException
shouldPerformMajorCompaction in class SortedCompactionPolicyfilesToCompact - Files to compact. Can be null.IOExceptionprotected CompactionRequestImpl createCompactionRequest(ArrayList<HStoreFile> candidateSelection, boolean tryingMajor, boolean mayUseOffPeak, boolean mayBeStuck) throws IOException
createCompactionRequest in class SortedCompactionPolicyIOExceptionpublic CompactionRequestImpl selectMajorCompaction(ArrayList<HStoreFile> candidateSelection)
public CompactionRequestImpl selectMinorCompaction(ArrayList<HStoreFile> candidateSelection, boolean mayUseOffPeak, boolean mayBeStuck) throws IOException
IOExceptionprivate DateTieredCompactionRequest generateCompactionRequest(ArrayList<HStoreFile> storeFiles, CompactionWindow window, boolean mayUseOffPeak, boolean mayBeStuck, int minThreshold) throws IOException
IOExceptionprivate List<Long> getCompactBoundariesForMajor(Collection<HStoreFile> filesToCompact, long now)
private static List<Long> getCompactionBoundariesForMinor(CompactionWindow window, boolean singleOutput)
private CompactionWindow getIncomingWindow(long now)
private static long getOldestToCompact(long maxAgeMillis, long now)
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.