private void startTimePartitionScanTasks() throws InterruptedException {
    CompactionScheduleTaskManager.RepairDataTaskManager repairDataTaskManager =
        CompactionScheduleTaskManager.getRepairTaskManagerInstance();
    try {
      for (RepairTimePartition timePartition : allTimePartitionFiles) {
        if (timePartition.isRepaired()) {
          LOGGER.info(
              "[RepairScheduler][{}][{}] skip repair time partition {} because it is repaired",
              timePartition.getDatabaseName(),
              timePartition.getDataRegionId(),
              timePartition.getTimePartitionId());
          repairProgress.incrementRepairedTimePartitionNum();
          continue;
        }
        LOGGER.info(
            "[RepairScheduler] submit a repair time partition scan task {}-{}-{}",
            timePartition.getDatabaseName(),
            timePartition.getDataRegionId(),
            timePartition.getTimePartitionId());
        repairDataTaskManager.submitRepairScanTask(
            new RepairTimePartitionScanTask(timePartition, repairLogger, repairProgress));
      }
    } finally {
      repairDataTaskManager.waitRepairTaskFinish();
    }
  }
Used for create a new repair schedule task
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/repair/UnsortedFileRepairTaskScheduler.java