public InsertNode getInsertNode() throws WALPipeException {
    // return local cache
    final WALEntryValue res = value;
    if (res != null) {
      if (res instanceof InsertNode) {
        return (InsertNode) res;
      } else {
        throw new WALPipeException("Fail to get value because the entry type isn't InsertNode.");
      }
    }

    // wait until the position is ready
    while (!walEntryPosition.canRead()) {
      try {
        synchronized (this) {
          this.wait();
        }
      } catch (final InterruptedException e) {
        logger.warn("Interrupted when waiting for result.", e);
        Thread.currentThread().interrupt();
      }
    }

    final InsertNode node = isHardlink ? readFromHardlinkWALFile() : readFromOriginalWALFile();
    if (node == null) {
      throw new WALPipeException(
          String.format("Fail to get the wal value of the position %s.", walEntryPosition));
    }
    return node;
  }
Get this handler's value.

@throws WALPipeException when failing to get the value.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/utils/WALEntryHandler.java