private TSStatus handleMetaChangesInternal(final PipeHandleMetaChangePlan plan) {
    LOGGER.info("Handling pipe meta changes ...");

    pipeMetaKeeper.clear();

    // This method is only triggered by pipe sync / meta report currently
    // And is guaranteed to print log finally
    final Optional<Logger> logger =
        PipeConfigNodeResourceManager.log()
            .schedule(
                PipeTaskInfo.class,
                PipeConfig.getInstance().getPipeMetaReportMaxLogNumPerRound(),
                PipeConfig.getInstance().getPipeMetaReportMaxLogIntervalRounds(),
                pipeMetaKeeper.getPipeMetaCount());
    plan.getPipeMetaList()
        .forEach(
            pipeMeta -> {
              pipeMetaKeeper.addPipeMeta(pipeMeta);
              logger.ifPresent(l -> l.info("Recording pipe meta: {}", pipeMeta));
            });

    return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
  }
Replace the local {@link PipeMeta}s by the {@link PipeMeta}s from the leader {@link
ConfigNode}.

@param plan The plan containing all the {@link PipeMeta}s from leader {@link ConfigNode}
@return {@link TSStatusCode#SUCCESS_STATUS}
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/pipe/PipeTaskInfo.java