@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–2019 The Apache Software Foundation. All rights reserved.