@Override
  protected void configureForRegion(final HRegion region) {
    super.configureForRegion(region);
    this.region = region;
    Configuration conf = getConf();

    maxBlockedRequests =
      conf.getFloat("hbase.busy.policy.blockedRequests", DEFAULT_MAX_BLOCKED_REQUESTS);
    minAge = conf.getLong("hbase.busy.policy.minAge", DEFAULT_MIN_AGE_MS);
    aggregationWindow = conf.getLong("hbase.busy.policy.aggWindow", DEFAULT_AGGREGATION_WINDOW);

    if (maxBlockedRequests < 0.00001f || maxBlockedRequests > 0.99999f) {
      LOG.warn("Threshold for maximum blocked requests is set too low or too high, "
        + " resetting to default of " + DEFAULT_MAX_BLOCKED_REQUESTS);
      maxBlockedRequests = DEFAULT_MAX_BLOCKED_REQUESTS;
    }

    if (aggregationWindow <= 0) {
      LOG.warn("Aggregation window size is too low: " + aggregationWindow
        + ". Resetting it to default of " + DEFAULT_AGGREGATION_WINDOW);
      aggregationWindow = DEFAULT_AGGREGATION_WINDOW;
    }

    init();
  }
This class represents a split policy which makes the split decision based on how busy a region
is. The metric that is used here is the fraction of total write requests that are blocked due to
high memstore utilization. This fractional rate is calculated over a running window of
"hbase.busy.policy.aggWindow" milliseconds. The rate is a time-weighted aggregated average of the
rate in the current window and the true average rate in the previous window.
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/BusyRegionSplitPolicy.java