How topical, I was surprised the other day to learn that this was still a 
thing. When triggering a dag run via api, I was under the impression that a 
unique run_id was enough. It would be nice to drop it.

James Coder
________________________________
From: Hussein Awala <huss...@awala.fr>
Sent: Thursday, August 24, 2023 7:13:40 PM
To: dev@airflow.apache.org <dev@airflow.apache.org>
Subject: [DISCUSS] Allowing Multiple DAG Runs with the Same Execution Date

Is the assumption that we should have only one DAG run per execution date
still valid?

In recent years, Airflow DAG has gained various features making it more
dynamic, including branching operators, DAG run configuration (DAG params),
and dynamic task mapping. While the scheduler creates most Airflow DAG runs
based on defined `schedule`, users also trigger runs externally using the
Webserver, REST API, and Python API.

As users employ Airflow for diverse use cases, sometimes they need more
than one DAG run for the same data interval (like event-based DAGs and
asynchronous requests processing, ...), but they are blocked by the unique
constraint on the execution date column. To work around this, users often
implement hacks such as introducing a new logical date param and using it
instead of the standard variable provided in the context.

Sometimes, a scheduled DAG's results need to be overridden using manually
triggered DAG runs that use different parameters values. Unfortunately, the
current system doesn't accommodate this without deleting the original DAG
run, leading to a loss of some of the historical execution records.

How essential is it to maintain a unique execution/logical date, and why
isn't the uniqueness of the run ID sufficient to address this?

Reply via email to