@Override
  public void processLoadSnapshot(File snapshotDir) throws IOException {
    File snapshotFile = new File(snapshotDir, SNAPSHOT_FILENAME);
    if (!snapshotFile.exists() || !snapshotFile.isFile()) {
      LOGGER.error(
          "Failed to load snapshot,snapshot file [{}] is not exist.",
          snapshotFile.getAbsolutePath());
      return;
    }

    acquireUDFTableLock();
    try (FileInputStream fileInputStream = new FileInputStream(snapshotFile)) {

      clear();

      deserializeExistedJarToMD5(fileInputStream);

      udfTable.deserializeUDFTable(fileInputStream);
    } finally {
      releaseUDFTableLock();
    }
  }
Validate whether the UDF can be dropped.
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/UDFInfo.java