final void updateMNode(ICachedMNode node, Consumer<ICachedMNode> operation, boolean needLock) {
    if (needLock) {
      lockManager.globalReadLock();
    }
    if (!node.isDatabase()) {
      lockManager.threadReadLock(node.getParent(), true);
    }
    try {
      operation.accept(node);
      memoryManager.updateCacheStatusAfterUpdate(node);
    } finally {
      if (!node.isDatabase()) {
        lockManager.threadReadUnlock(node.getParent());
      }
      if (needLock) {
        lockManager.globalReadUnlock();
      }
    }
  }
The upside modification on node in MTree or MManager should be sync to MTreeStore explicitly.
Must pin the node first before update

@param node the modified node
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/CachedMTreeStore.java