Hey Dan, Im not sure if I am seeing a difference for #1 vs now, except you are excluding backfills now from the calculation? Can you provide an example?
Bolke > On 7 Mar 2017, at 20:38, Dan Davydov <[email protected]> wrote: > > A very common source of confusion for our users is when they specify > start_date in default_args but not in their DAG arguments and then try to > change this start_date to move the execution of their DAG forward (e.g. > from 2015 to 2016). This doesn't work because the logic that is used to > calculate the "initial" start date of a dag differs from the logic to > calculate subsequent dagrun start dates. > > Current Airflow Logic: > DS to schedule initial dagrun: dag.start_date if it exists, else min(start > date of tasks_of_dag) > DS to schedule subsequent dagruns: last_dagrun + scheduled_interval > > There are a couple ways of addressing this: > 1. Change the definition of start date for subsequent dagruns to match the > "initial" dagrun start date (calculated from the minimum of task start > dates) > 2. Force explicit dag start dates > > I personally like 1. > > I also propose that we throw errors for DAGs that have tasks that depend on > other tasks with start dates that occur after theirs (otherwise there could > be deadlocks). > > What do people think?
