org.apache.hadoop.hbase.regionserver
Class StripeStoreConfig

java.lang.Object
  extended by org.apache.hadoop.hbase.regionserver.StripeStoreConfig

@InterfaceAudience.Private
public class StripeStoreConfig
extends Object

Configuration class for stripe store and compactions. See StripeStoreFileManager for general documentation. See getters for the description of each setting.


Field Summary
static String FLUSH_TO_L0_KEY
          Whether to flush memstore to L0 files, or directly to stripes.
static String INITIAL_STRIPE_COUNT_KEY
          The initial stripe count to create.
static String MAX_FILES_KEY
          The maximum number of files to compact within a stripe; same as for regular compaction.
static String MAX_REGION_SPLIT_IMBALANCE_KEY
          When splitting region, the maximum size imbalance to allow in an attempt to split at a stripe boundary, so that no files go to both regions.
static String MIN_FILES_KEY
          The minimum number of files to compact within a stripe; same as for regular compaction.
static String MIN_FILES_L0_KEY
          The minimum number of files to compact when compacting L0; same as minFiles for regular compaction.
static String SIZE_TO_SPLIT_KEY
          The size the stripe should achieve to be considered for splitting into multiple stripes.
static String SPLIT_PARTS_KEY
          The target count of new stripes to produce when splitting a stripe.
 
Constructor Summary
StripeStoreConfig(org.apache.hadoop.conf.Configuration config, StoreConfigInformation sci)
           
 
Method Summary
 int getInitialCount()
           
 int getLevel0MinFiles()
           
 float getMaxSplitImbalance()
           
 float getSplitCount()
           
 long getSplitPartSize()
           
 long getSplitSize()
           
 int getStripeCompactMaxFiles()
           
 int getStripeCompactMinFiles()
           
 boolean isUsingL0Flush()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAX_FILES_KEY

public static final String MAX_FILES_KEY
The maximum number of files to compact within a stripe; same as for regular compaction.

See Also:
Constant Field Values

MIN_FILES_KEY

public static final String MIN_FILES_KEY
The minimum number of files to compact within a stripe; same as for regular compaction.

See Also:
Constant Field Values

MIN_FILES_L0_KEY

public static final String MIN_FILES_L0_KEY
The minimum number of files to compact when compacting L0; same as minFiles for regular compaction. Given that L0 causes unnecessary overwriting of the data, should be higher than regular minFiles.

See Also:
Constant Field Values

SIZE_TO_SPLIT_KEY

public static final String SIZE_TO_SPLIT_KEY
The size the stripe should achieve to be considered for splitting into multiple stripes. Stripe will be split when it can be fully compacted, and it is above this size.

See Also:
Constant Field Values

SPLIT_PARTS_KEY

public static final String SPLIT_PARTS_KEY
The target count of new stripes to produce when splitting a stripe. A floating point number, default is 2. Values less than 1 will be converted to 1/x. Non-whole numbers will produce unbalanced splits, which may be good for some cases. In this case the "smaller" of the new stripes will always be the rightmost one. If the stripe is bigger than sizeToSplit when splitting, this will be adjusted by a whole increment.

See Also:
Constant Field Values

INITIAL_STRIPE_COUNT_KEY

public static final String INITIAL_STRIPE_COUNT_KEY
The initial stripe count to create. If the row distribution is roughly the same over time, it's good to set this to a count of stripes that is expected to be achieved in most regions, to get this count from the outset and prevent unnecessary splitting.

See Also:
Constant Field Values

FLUSH_TO_L0_KEY

public static final String FLUSH_TO_L0_KEY
Whether to flush memstore to L0 files, or directly to stripes.

See Also:
Constant Field Values

MAX_REGION_SPLIT_IMBALANCE_KEY

public static final String MAX_REGION_SPLIT_IMBALANCE_KEY
When splitting region, the maximum size imbalance to allow in an attempt to split at a stripe boundary, so that no files go to both regions. Most users won't need to change that.

See Also:
Constant Field Values
Constructor Detail

StripeStoreConfig

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

getMaxSplitImbalance

public float getMaxSplitImbalance()

getLevel0MinFiles

public int getLevel0MinFiles()

getStripeCompactMinFiles

public int getStripeCompactMinFiles()

getStripeCompactMaxFiles

public int getStripeCompactMaxFiles()

isUsingL0Flush

public boolean isUsingL0Flush()

getSplitSize

public long getSplitSize()

getInitialCount

public int getInitialCount()

getSplitCount

public float getSplitCount()

getSplitPartSize

public long getSplitPartSize()
Returns:
the desired size of the target stripe when splitting, in bytes. Derived from getSplitSize() and getSplitCount().


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