public void recoverModSettleFile(Path timePartitionDir) {
    try (Stream<Path> settlesStream = Files.list(timePartitionDir)) {
      settlesStream
          .filter(path -> path.toString().endsWith(MODS_SETTLE_FILE_SUFFIX))
          .forEach(
              modsSettle -> {
                Path originModFile =
                    modsSettle.resolveSibling(
                        modsSettle.getFileName().toString().replace(SETTLE_SUFFIX, BLANK));
                try {
                  if (Files.exists(originModFile)) {
                    Files.deleteIfExists(modsSettle);
                  } else {
                    Files.move(modsSettle, originModFile);
                  }
                } catch (IOException e) {
                  logger.error(
                      "recover mods file error on delete origin file or rename mods settle,", e);
                }
              });
    } catch (IOException e) {
      logger.error("recover mods file error on list files:{}", timePartitionDir, e);
    }
  }
CompactionRecoverManager searches compaction log and call {@link CompactionRecoverTask} to
execute the recover process for all compaction task sequentially, including InnerCompactionTask
in sequence/unsequence space, CrossSpaceCompaction.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/recover/CompactionRecoverManager.java