public synchronized HDFSBlocksDistribution getHDFSBlockDistribution() {
    if (EnvironmentEdgeManager.currentTime() - lastCachedAt > cachePeriodMs) {
      try {
        LOG.debug("Refreshing HDFSBlockDistribution for {}", fileInfo);
        computeBlockDistribution();
      } catch (IOException e) {
        LOG.warn("Failed to recompute block distribution for {}. Falling back on cached value.",
          fileInfo, e);
      }
    }
    return hdfsBlocksDistribution;
  }
Get the HDFSBlocksDistribution derived from the StoreFile input stream, re-computing if cache
is expired.
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.java