The GitHub Actions job "Tests" on airflow.git/fix/trigger-dagrun-reset-stuck 
has succeeded.
Run started by GitHub user mykola-shyshov (triggered by eladkal).

Head commit for run:
fa664e26bd5dadaa564fc65d27927864619b94f0 / Mykola Shyshov 
<[email protected]>
  Fix: TriggerDagRunOperator stuck in deferred state with reset_dag_run (#57756)

  When TriggerDagRunOperator is used with deferrable=True, 
wait_for_completion=True,
  reset_dag_run=True, and a fixed trigger_run_id, the operator becomes 
permanently
  stuck in deferred state after clearing and re-running.

  Root cause:
  When reset_dag_run=True is used with a fixed run_id, the database preserves 
the
  original logical_date from the first run. However, on subsequent runs after 
clearing,
  the operator calculates a NEW logical_date based on the current time. The 
DagStateTrigger
  was being created with this newly calculated logical_date, causing a mismatch 
when
  querying the database - the trigger looked for a DAG run with the new 
logical_date
  but the database contained the original logical_date, causing the query to 
return
  zero results indefinitely.

  Solution:
  - Modified _handle_trigger_dag_run() in task_runner.py to pass 
execution_dates=None
    to DagStateTrigger when run_ids is provided, since run_id alone is 
sufficient and
    globally unique
  - Added test test_handle_trigger_dag_run_deferred_with_reset_uses_run_id_only 
to
    verify the fix and prevent regression

  The fix ensures that both deferrable and non-deferrable modes use identical 
logic
  for determining DAG run completion - querying by run_id and state only, 
without
  filtering by logical_date which can become stale when resets are involved.

Report URL: https://github.com/apache/airflow/actions/runs/19136185274

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to