public boolean checkIfPluginSameType(final String oldPluginName, final String newPluginName) {
    PipePluginMeta oldPipePluginMeta = pipePluginMetaKeeper.getPipePluginMeta(oldPluginName);
    PipePluginMeta newPipePluginMeta = pipePluginMetaKeeper.getPipePluginMeta(newPluginName);

    if (oldPipePluginMeta == null) {
      throw new PipeException(String.format("plugin %s is not registered.", oldPluginName));
    }
    if (newPipePluginMeta == null) {
      throw new PipeException(String.format("plugin %s is not registered.", newPluginName));
    }

    return Objects.equals(oldPipePluginMeta.getClassName(), (newPipePluginMeta.getClassName()));
  }
Register a PipePlugin to the system without any meta checks. The PipePlugin will be loaded by
the PipePluginClassLoader and its instance will be created to ensure that it can be loaded.

@param pipePluginMeta the meta information of the PipePlugin
@throws PipeException if the PipePlugin can not be loaded or its instance can not be created
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/plugin/PipeDataNodePluginAgent.java