@Override
  protected void configureForRegion(HRegion region) {
    super.configureForRegion(region);
    Configuration conf = getConf();
    TableDescriptor desc = region.getTableDescriptor();
    if (desc != null) {
      this.desiredMaxFileSize = desc.getMaxFileSize();
    }
    if (this.desiredMaxFileSize <= 0) {
      this.desiredMaxFileSize =
        conf.getLong(HConstants.HREGION_MAX_FILESIZE, HConstants.DEFAULT_MAX_FILE_SIZE);
    }
    this.overallHRegionFiles =
      conf.getBoolean(HConstants.OVERALL_HREGION_FILES, HConstants.DEFAULT_OVERALL_HREGION_FILES);
    double jitter = conf.getDouble(MAX_FILESIZE_JITTER_KEY, 0.25D);
    this.jitterRate = (ThreadLocalRandom.current().nextFloat() - 0.5D) * jitter;
    long jitterValue = (long) (this.desiredMaxFileSize * this.jitterRate);
    // Default jitter is ~12% +/-. Make sure the long value won't overflow with jitter
    if (this.jitterRate > 0 && jitterValue > (Long.MAX_VALUE - this.desiredMaxFileSize)) {
      this.desiredMaxFileSize = Long.MAX_VALUE;
    } else {
      this.desiredMaxFileSize += jitterValue;
    }
  }
A {@link RegionSplitPolicy} implementation which splits a region as soon as any of its store
files exceeds a maximum configurable size.
<p>
This is the default split policy. From 0.94.0 on the default split policy has changed to
{@link IncreasingToUpperBoundRegionSplitPolicy}
</p>
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ConstantSizeRegionSplitPolicy.java