Skip to content

DagRun's start_date updated when user clears task of the running Dagrun #30124

Description

@dimonchik-suvorov

Apache Airflow version

2.5.1

What happened

DagRun state and start_date are reset if somebody is clearing a task of the running DagRun.

What you think should happen instead

I think we should not reset DagRun state and start_date in it's in the running or queued states because it doesn't make any sense for me. state and start_date of the DgRun should remain the same in case somebody's clearing a task of the running DagRun

How to reproduce

Let's say we have a Dag with 2 tasks in it - short one and the long one:

dag = DAG(
    'dummy-dag',
    schedule_interval='@once',
    catchup=False,
)

DagContext.push_context_managed_dag(dag)

bash_success = BashOperator(
    task_id='bash-success',
    bash_command='echo "Start and finish"; exit 0',
    retries=0,
)

date_ind_success = BashOperator(
    task_id='bash-long-success',
    bash_command='echo "Start and finish"; sleep 300; exit 0',
)

Let's day we have a running Dagrun of this DAG. First task finishes in a second and the long one is still running. We have a start_date and duration set and the Dagrun is still running. It runs for example for a 30 secs (pic 1 and 2)

image

image

Then we are clearing the short task. It causes clear of the Dagrun state (to queued) and clears start_date like we have a new Dagrun (pic 3 and 4)
image
image

Operating System

Unix/MacOS

Versions of Apache Airflow Providers

No response

Deployment

Official Apache Airflow Helm Chart

Deployment details

No response

Anything else

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions