private void makeMemTableCheckpoints() {
      if (info.checkpoints.isEmpty()) {
        return;
      }
      for (Checkpoint checkpoint : info.checkpoints) {
        switch (checkpoint.getType()) {
          case CREATE_MEMORY_TABLE:
            checkpointManager.makeCreateMemTableCPOnDisk(
                checkpoint.getMemTableInfos().get(0).getMemTableId());
            break;
          case FLUSH_MEMORY_TABLE:
            checkpointManager.makeFlushMemTableCP(
                checkpoint.getMemTableInfos().get(0).getMemTableId());
            break;
          default:
            throw new RuntimeException(
                "Cannot make other checkpoint types in the wal buffer, type is "
                    + checkpoint.getType());
        }
      }
      checkpointManager.fsyncCheckpointFile();
    }
This task syncs syncingBuffer to disk. The precondition is that syncingBuffer cannot be null.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/buffer/WALBuffer.java