org.apache.hadoop.hbase.regionserver.compactions
Class StripeCompactionPolicy

java.lang.Object
  extended by org.apache.hadoop.hbase.regionserver.compactions.CompactionPolicy
      extended by org.apache.hadoop.hbase.regionserver.compactions.StripeCompactionPolicy

@InterfaceAudience.Private
public class StripeCompactionPolicy
extends CompactionPolicy

Stripe store implementation of compaction policy.


Nested Class Summary
static class StripeCompactionPolicy.StripeCompactionRequest
          Stripe compaction request wrapper.
static interface StripeCompactionPolicy.StripeInformationProvider
          The information about stripes that the policy needs to do its stuff
 
Field Summary
 
Fields inherited from class org.apache.hadoop.hbase.regionserver.compactions.CompactionPolicy
comConf, storeConfigInfo
 
Constructor Summary
StripeCompactionPolicy(org.apache.hadoop.conf.Configuration conf, StoreConfigInformation storeConfigInfo, StripeStoreConfig config)
           
 
Method Summary
 StripeCompactionPolicy.StripeCompactionRequest createEmptyRequest(StripeCompactionPolicy.StripeInformationProvider si, CompactionRequest request)
           
static long getTotalFileSize(Collection<StoreFile> candidates)
           
 boolean isMajorCompaction(Collection<StoreFile> filesToCompact)
           
 boolean needsCompactions(StripeCompactionPolicy.StripeInformationProvider si, List<StoreFile> filesCompacting)
           
protected  boolean needsSingleStripeCompaction(StripeCompactionPolicy.StripeInformationProvider si)
           
 List<StoreFile> preSelectFilesForCoprocessor(StripeCompactionPolicy.StripeInformationProvider si, List<StoreFile> filesCompacting)
           
 StripeCompactionPolicy.StripeCompactionRequest selectCompaction(StripeCompactionPolicy.StripeInformationProvider si, List<StoreFile> filesCompacting, boolean isOffpeak)
           
 StripeStoreFlusher.StripeFlushRequest selectFlush(StripeCompactionPolicy.StripeInformationProvider si, int kvCount)
           
protected  StripeCompactionPolicy.StripeCompactionRequest selectSingleStripeCompaction(StripeCompactionPolicy.StripeInformationProvider si, boolean includeL0, boolean canDropDeletesWithoutL0, boolean isOffpeak)
           
 boolean throttleCompaction(long compactionSize)
           
 
Methods inherited from class org.apache.hadoop.hbase.regionserver.compactions.CompactionPolicy
getConf, setConf
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StripeCompactionPolicy

public StripeCompactionPolicy(org.apache.hadoop.conf.Configuration conf,
                              StoreConfigInformation storeConfigInfo,
                              StripeStoreConfig config)
Method Detail

preSelectFilesForCoprocessor

public List<StoreFile> preSelectFilesForCoprocessor(StripeCompactionPolicy.StripeInformationProvider si,
                                                    List<StoreFile> filesCompacting)

createEmptyRequest

public StripeCompactionPolicy.StripeCompactionRequest createEmptyRequest(StripeCompactionPolicy.StripeInformationProvider si,
                                                                         CompactionRequest request)

selectFlush

public StripeStoreFlusher.StripeFlushRequest selectFlush(StripeCompactionPolicy.StripeInformationProvider si,
                                                         int kvCount)

selectCompaction

public StripeCompactionPolicy.StripeCompactionRequest selectCompaction(StripeCompactionPolicy.StripeInformationProvider si,
                                                                       List<StoreFile> filesCompacting,
                                                                       boolean isOffpeak)
                                                                throws IOException
Throws:
IOException

needsCompactions

public boolean needsCompactions(StripeCompactionPolicy.StripeInformationProvider si,
                                List<StoreFile> filesCompacting)

isMajorCompaction

public boolean isMajorCompaction(Collection<StoreFile> filesToCompact)
                          throws IOException
Specified by:
isMajorCompaction in class CompactionPolicy
Parameters:
filesToCompact - Files to compact. Can be null.
Returns:
True if we should run a major compaction.
Throws:
IOException

throttleCompaction

public boolean throttleCompaction(long compactionSize)
Specified by:
throttleCompaction in class CompactionPolicy
Parameters:
compactionSize - Total size of some compaction
Returns:
whether this should be a large or small compaction

needsSingleStripeCompaction

protected boolean needsSingleStripeCompaction(StripeCompactionPolicy.StripeInformationProvider si)
Parameters:
si - StoreFileManager.
Returns:
Whether any stripe potentially needs compaction.

selectSingleStripeCompaction

protected StripeCompactionPolicy.StripeCompactionRequest selectSingleStripeCompaction(StripeCompactionPolicy.StripeInformationProvider si,
                                                                                      boolean includeL0,
                                                                                      boolean canDropDeletesWithoutL0,
                                                                                      boolean isOffpeak)
                                                                               throws IOException
Throws:
IOException

getTotalFileSize

public static long getTotalFileSize(Collection<StoreFile> candidates)


Copyright © 2007–2016 The Apache Software Foundation. All rights reserved.