private ICachedMNode getChildWithAlias(ICachedMNode par, String alias, SchemaPageContext cxt)
      throws IOException, MetadataException {
    long srtAddr = getNodeAddress(par);
    ISchemaPage page = getPageInstance(getPageIndex(srtAddr), cxt);

    if (page.getAsInternalPage() == null || page.getSubIndex() < 0) {
      return null;
    }

    String name = searchSubIndexAlias(page.getSubIndex(), alias, cxt);

    if (name == null) {
      return null;
    }

    return getTargetLeafPage(page, name, cxt).getAsSegmentedPage().read((short) 0, name);
  }
Since transplant and replacement may invalidate page instance held by a blocked read-thread,
the read-thread need to validate its page object once it obtained the lock.

@param initPage page instance with read lock held
@param parent MTree node to read children, containing latest segment address
@param cxt update context if page/segment modified
@return validated page
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/schemafile/pagemgr/BTreePageManager.java