private void changeOffset(PartialPath path, long offset) throws MetadataException {
    IMeasurementMNode<ICachedMNode> measurementMNode = mtree.getMeasurementMNode(path);
    try {
      mtree.updateMNode(
          measurementMNode.getAsMNode(), o -> o.getAsMeasurementMNode().setOffset(offset));

      if (isRecovering) {
        try {
          if (tagManager.recoverIndex(offset, measurementMNode)) {
            mtree.pinMNode(measurementMNode.getAsMNode());
          }
        } catch (IOException e) {
          throw new MetadataException(e);
        }
      }
    } finally {
      mtree.unPinMNode(measurementMNode.getAsMNode());
    }
  }
Set the new offset of a timeseries. Only used for Recover. When creating tags/attributes for a
timeseries, if is first time, the file offset where the tags/attributes stored will be stored
in measurementMNode.

@param path timeseries
@param offset offset in the tag file
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionPBTreeImpl.java