seanmuth commented on code in PR #66132:
URL: https://github.com/apache/airflow/pull/66132#discussion_r3168864878
##########
airflow-core/src/airflow/timetables/interval.py:
##########
@@ -110,6 +110,15 @@ def next_dagrun_info(
else:
# Data interval starts from the end of the previous interval.
start = align_last_data_interval_end
+ # A zero-length previous interval (start == end) collapses
logical_date
+ # onto the existing run; advance one period so we don't re-emit it.
+ # This shape comes from CronTriggerTimetable runs scheduled before
a
+ # switch to a CronDataIntervalTimetable.
+ if (
+ last_automated_data_interval.start ==
last_automated_data_interval.end
+ and start == last_automated_data_interval.start
+ ):
+ start = self._get_next(start)
Review Comment:
Trying to reason out how this would occur with a
`CronDataIntervalTimetable`, but even if it did, it would correctly set the
next_start to the "next" interval which would avoid the attempt to create a
dagrun that already exists. I think?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]