public static HRegion openHRegionFromTableDir(final Configuration conf, final FileSystem fs,
    final Path tableDir, final RegionInfo info, final TableDescriptor htd, final WAL wal,
    final RegionServerServices rsServices, final CancelableProgressable reporter)
    throws IOException {
    Objects.requireNonNull(info, "RegionInfo cannot be null");
    LOG.debug("Opening region: {}", info);
    HRegion r = HRegion.newHRegion(tableDir, wal, fs, conf, info, htd, rsServices);
    return r.openHRegion(reporter);
  }
Open a Region.
@param conf       The Configuration object to use.
@param fs         Filesystem to use
@param info       Info for region to be opened.
@param htd        the table descriptor
@param wal        WAL for region to use. This method will call WAL#setSequenceNumber(long)
                  passing the result of the call to HRegion#getMinSequenceId() to ensure the
                  wal id is properly kept up. HRegionStore does this every time it opens a new
                  region.
@param rsServices An interface we can request flushes against.
@param reporter   An interface we can report progress against.
@return new HRegion
@throws NullPointerException if {@code info} is {@code null}
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java