public long stampedReadLock() {
    lock.lock();
    try {
      return acquireReadLockStamp(false);
    } finally {
      lock.unlock();
    }
  }
Acquires the stamp-bound read lock. Read lock acquire and release is stamp-bound and supports
re-entry by the same stamp. Return a new stamp if no thread holds a write lock; block and wait
if another thread holds a write lock or the write lock waiting queue is not empty.

@return stamp
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/lock/StampedWriterPreferredLock.java