@InterfaceAudience.Private public class StripeCompactionPolicy extends CompactionPolicy
Modifier and Type | Class and Description |
---|---|
static class |
StripeCompactionPolicy.StripeCompactionRequest
Stripe compaction request wrapper.
|
static interface |
StripeCompactionPolicy.StripeInformationProvider
The information about stripes that the policy needs to do its stuff
|
comConf, storeConfigInfo
Constructor and Description |
---|
StripeCompactionPolicy(Configuration conf,
StoreConfigInformation storeConfigInfo,
StripeStoreConfig config) |
getConf, setConf
public StripeCompactionPolicy(Configuration conf, StoreConfigInformation storeConfigInfo, StripeStoreConfig config)
public java.util.List<StoreFile> preSelectFilesForCoprocessor(StripeCompactionPolicy.StripeInformationProvider si, java.util.List<StoreFile> filesCompacting)
public StripeCompactionPolicy.StripeCompactionRequest createEmptyRequest(StripeCompactionPolicy.StripeInformationProvider si, CompactionRequest request)
public StripeStoreFlusher.StripeFlushRequest selectFlush(KeyValue.KVComparator comparator, StripeCompactionPolicy.StripeInformationProvider si, int kvCount)
public StripeCompactionPolicy.StripeCompactionRequest selectCompaction(StripeCompactionPolicy.StripeInformationProvider si, java.util.List<StoreFile> filesCompacting, boolean isOffpeak) throws java.io.IOException
java.io.IOException
public boolean needsCompactions(StripeCompactionPolicy.StripeInformationProvider si, java.util.List<StoreFile> filesCompacting)
public boolean shouldPerformMajorCompaction(java.util.Collection<StoreFile> filesToCompact) throws java.io.IOException
shouldPerformMajorCompaction
in class CompactionPolicy
filesToCompact
- Files to compact. Can be null.java.io.IOException
public boolean throttleCompaction(long compactionSize)
throttleCompaction
in class CompactionPolicy
compactionSize
- Total size of some compactionprotected boolean needsSingleStripeCompaction(StripeCompactionPolicy.StripeInformationProvider si)
si
- StoreFileManager.protected StripeCompactionPolicy.StripeCompactionRequest selectSingleStripeCompaction(StripeCompactionPolicy.StripeInformationProvider si, boolean includeL0, boolean canDropDeletesWithoutL0, boolean isOffpeak) throws java.io.IOException
java.io.IOException
public static long getTotalFileSize(java.util.Collection<StoreFile> candidates)