BasPH commented on PR #35392:
URL: https://github.com/apache/airflow/pull/35392#issuecomment-1803663947

   I disagree with adding more options (enabled/disabled/ignore_first) because 
I think it introduces more unnecessary complexity. We should think ahead about 
the desired Airflow behavior >=2.8,<3 and >=3.
   
   To elaborate on the issue that users face, for `catchup` you can currently 
set `True` or `False`:
   
   - `True` is straightforward: when you unpause a DAG, it executes all 
intervals that should have been executed between the DAG's start_date and now.
   - `False`: Airflow doesn't execute DAGruns that should have executed in the 
past, but it does execute one DAGrun, which is the last complete interval. So 
say you have an `@daily` interval and unpause at 15:00 on jan 2nd, you will get 
one DAG run [jan 1st 00:00 - jan 2nd 00:00].
   
   I have yet to find the first person that finds catchup's `False` current 
behavior logical: what people expect is that nothing happens until jan 3rd 
00:00, at which they expect to execute the first interval [jan 2nd 00:00 - jan 
3rd 00:00]. This is especially troublesome for users that do not use an 
interval start & end datetime in their jobs, but just want things to run at a 
certain point in time. When a DAG run starts at a different date/time than 
scheduled, this causes trouble.
   
   My suggestion would be:
   
   - Airflow >=2.8,<3: add a global config e.g.`ignore_first_catchup`: add it 
together with a deprecation warning for removal in Airflow 3. Clearly state 
that this is a temporary solution until a breaking change in Airflow 3 is 
introduced. I think a global parameter causes the least friction, supporting it 
as an argument on DAG-level would require people to change their code in 2.8 
and change it again in 3. Default `False` would align with the current 
behavior, and setting it to `True` would not execute one DAG run from the past 
when unpausing a DAG.
   - Airflow >=3: remove `ignore_first_catchup` config, and make catchup=False 
not execute one DAG run upon unpausing. No code changes are required by users, 
only a behavioral change to be aware of.
   
   WDYT?


-- 
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: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to