@Override
  public void close() {
    isClosed.set(true);

    PipeEventCommitManager.getInstance()
        .deregister(pipeName, creationTime, CONFIG_REGION_ID.getId());
    PipeConfigRegionConnectorMetrics.getInstance().deregister(taskID);

    try {
      extractor.close();
    } catch (final Exception e) {
      LOGGER.info("Error occurred during closing PipeExtractor.", e);
    }

    try {
      processor.close();
    } catch (final Exception e) {
      LOGGER.info("Error occurred during closing PipeProcessor.", e);
    }

    try {
      outputPipeConnector.close();
    } catch (final Exception e) {
      LOGGER.info("Error occurred during closing PipeConnector.", e);
    } finally {
      // Should be after connector.close()
      super.close();
    }
  }
Try to consume an {@link Event} by the {@link IoTDBConfigRegionExtractor}.

@return {@code true} if the {@link Event} is consumed successfully, {@code false} if no more
    {@link Event} can be consumed
@throws Exception if any error occurs when consuming the {@link Event}
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/agent/task/PipeConfigNodeSubtask.java