Skip to content

Commit ded0f5d

Browse files
bggwaknothingmin
authored andcommitted
fix: set data_interval to logical_date when triggering DAG run
In Airflow 2, the data_interval was set to logical_date (execution_date) when triggering a DAG run. In Airflow 3, the current data_interval is set to run_after, which causes issues when using data_interval_end. This commit addresses this problem.
1 parent dc952f0 commit ded0f5d

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

airflow-core/src/airflow/api/common/trigger_dag.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ def _trigger_dag(
6868
if dag is None or dag_id not in dag_bag.dags:
6969
raise DagNotFound(f"Dag id {dag_id} not found")
7070

71-
run_after = run_after or timezone.coerce_datetime(timezone.utcnow())
7271
coerced_logical_date: datetime | None = None
7372
if logical_date:
7473
if not timezone.is_localized(logical_date):
@@ -85,10 +84,11 @@ def _trigger_dag(
8584
f"[{min_dag_start_date.isoformat()}] from DAG's default_args"
8685
)
8786
coerced_logical_date = timezone.coerce_datetime(logical_date)
88-
data_interval = dag.timetable.infer_manual_data_interval(run_after=run_after)
87+
data_interval = dag.timetable.infer_manual_data_interval(run_after=coerced_logical_date)
8988
else:
9089
data_interval = None
9190

91+
run_after = run_after or timezone.coerce_datetime(timezone.utcnow())
9292
run_id = run_id or DagRun.generate_run_id(
9393
run_type=DagRunType.MANUAL,
9494
logical_date=coerced_logical_date,

0 commit comments

Comments
 (0)