Hi all, I want to give a heads-up on a minor modification I just made to AIP-39. AIP-39 originally proposed renaming execution_date to schedule_date since the old name was confusing (it’s not when the DAG run is actually executed). However, while implementing the AIP and drafting documentation to it, I realised schedule_date is also quite confusing—the date is also not when the DAG run is scheduled to run. I went through the current documentation to get an idea how it currently explains execution_date, and found multiple instances the adjective “logical” is used: Concepts → DAG (https://airflow.apache.org/docs/apache-airflow/stable/concepts/dags.html#running-dags): “[Each DAG run] has a defined execution_date, which identifies the logical date and time it is running for - not the actual time when it was started.” Tutorial (https://airflow.apache.org/docs/apache-airflow/stable/tutorial.html): “The date specified in this context is called execution_date. This is the logical date, which simulates the scheduler running your task or dag at a specific date and time […].“
The GCS operator (https://airflow.apache.org/docs/apache-airflow-providers-google/stable/operators/cloud/gcs.html): “The time span is defined by the DAG instance logical execution timestamp (execution_date, start of time span) and the timestamp when the next DAG instance execution is scheduled (end of time span).” So, after talking to Ash, I have renamed the field to logical_date. This would make the name more consistent to the term used to describe it, and hopefully the concept easier to understand. TP