@Override
  public void close() {
    try {
      if (pipeName != null && !timeUsageReported) {
        PipeTsFileToTabletsMetrics.getInstance()
            .recordTsFileToTabletTime(
                pipeName + "_" + creationTime, System.nanoTime() - initialTimeNano);
        timeUsageReported = true;
      }
    } catch (final Exception e) {
      LOGGER.warn("Failed to report time usage for parsing tsfile for pipe {}", pipeName, e);
    }

    try {
      if (tsFileSequenceReader != null) {
        tsFileSequenceReader.close();
      }
    } catch (final IOException e) {
      LOGGER.warn("Failed to close TsFileSequenceReader", e);
    }

    if (allocatedMemoryBlockForTablet != null) {
      allocatedMemoryBlockForTablet.close();
    }
  }
@return {@link TabletInsertionEvent} in a streaming way
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/parser/TsFileInsertionEventParser.java