@InterfaceAudience.Private public class IncreasingToUpperBoundRegionSplitPolicy extends ConstantSizeRegionSplitPolicy
For example, if the flush size is 128MB, then after two flushes (256MB) we
will split which will make two regions that will split when their size is
2^3 * 128MB*2 = 2048MB
.
If one of these regions splits, then there are three regions and now the
split size is 3^3 * 128MB*2 = 6912MB
, and so on until we reach the configured
maximum file size and then from there on out, we'll use that.
Modifier and Type | Field and Description |
---|---|
protected long |
initialSize |
private static org.slf4j.Logger |
LOG |
region
Constructor and Description |
---|
IncreasingToUpperBoundRegionSplitPolicy() |
Modifier and Type | Method and Description |
---|---|
protected void |
configureForRegion(HRegion region)
Upon construction, this method will be called with the region
to be governed.
|
private int |
getCountOfCommonTableRegions() |
protected long |
getSizeToCheck(int tableRegionsCount) |
protected boolean |
shouldSplit() |
getDesiredMaxFileSize, positiveJitterRate
create, getSplitPoint, getSplitPolicyClass, skipStoreFileRangeCheck
private static final org.slf4j.Logger LOG
protected long initialSize
public IncreasingToUpperBoundRegionSplitPolicy()
protected void configureForRegion(HRegion region)
RegionSplitPolicy
configureForRegion
in class ConstantSizeRegionSplitPolicy
protected boolean shouldSplit()
shouldSplit
in class ConstantSizeRegionSplitPolicy
private int getCountOfCommonTableRegions()
protected long getSizeToCheck(int tableRegionsCount)
count of regions cubed * 2 * flushsize
,
which ever is smaller; guard against there being zero regions on this server.Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.