This is an automated email from the ASF dual-hosted git repository.

kaxil pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new e14449953fd Fix deferral paths in task lifecycle diagram (#75428)
e14449953fd is described below

commit e14449953fd4e14d9c1fb05f29c67bc2d72070cb
Author: Shivam Rastogi <[email protected]>
AuthorDate: Fri Oct 23 10:17:19 2026 -0700

    Fix deferral paths in task lifecycle diagram (#75428)
---
 .../docs/img/diagram_task_lifecycle.md5sum         |   2 +-
 airflow-core/docs/img/diagram_task_lifecycle.png   | Bin 671852 -> 643516 bytes
 airflow-core/docs/img/diagram_task_lifecycle.py    |  18 +++++++++++-------
 3 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/airflow-core/docs/img/diagram_task_lifecycle.md5sum 
b/airflow-core/docs/img/diagram_task_lifecycle.md5sum
index 4845a3b397b..bf579e6024f 100644
--- a/airflow-core/docs/img/diagram_task_lifecycle.md5sum
+++ b/airflow-core/docs/img/diagram_task_lifecycle.md5sum
@@ -1 +1 @@
-6bffe1b83a0bb4177144eeabe142f634
+e24d7337d89818908e1c613b00c1f738
diff --git a/airflow-core/docs/img/diagram_task_lifecycle.png 
b/airflow-core/docs/img/diagram_task_lifecycle.png
index 5687cdb4ad9..d6868451da5 100644
Binary files a/airflow-core/docs/img/diagram_task_lifecycle.png and 
b/airflow-core/docs/img/diagram_task_lifecycle.png differ
diff --git a/airflow-core/docs/img/diagram_task_lifecycle.py 
b/airflow-core/docs/img/diagram_task_lifecycle.py
index d657ab526af..66219757e4f 100644
--- a/airflow-core/docs/img/diagram_task_lifecycle.py
+++ b/airflow-core/docs/img/diagram_task_lifecycle.py
@@ -138,11 +138,15 @@ def generate_task_lifecycle_diagram():
             **CONDITION_NODE_ATTRS,
         )
         cond_trigger_task_1 = Custom(
-            "\n\n\n\n\nA triggerer task?\n(can execute just only with 
triggerer)",
+            "\n\n\n\n\nStarts in the triggerer?\n(start_from_trigger)",
+            CONDITION_IMG,
+            **CONDITION_NODE_ATTRS,
+        )
+        cond_trigger_task_2 = Custom(
+            "\n\n\n\n\nTrigger ends the task?\n(end_from_trigger)",
             CONDITION_IMG,
             **CONDITION_NODE_ATTRS,
         )
-        cond_trigger_task_2 = Custom("\n\n\n\n\nA triggerer task?", 
CONDITION_IMG, **CONDITION_NODE_ATTRS)
         cond_task_complete_1 = Custom(
             "\n\n\n\n\n                       Task completes?", CONDITION_IMG, 
**CONDITION_NODE_ATTRS
         )
@@ -178,15 +182,15 @@ def generate_task_lifecycle_diagram():
         cond_scheduled_skip >> Edge(label="NO") >> cond_task_def_existence
         (cond_scheduled_skip >> Edge(label="YES") >> state_skipped,)
         (cond_task_def_existence >> Edge(label="NO") >> state_removed,)
-        (cond_task_def_existence >> Edge(label="YES") >> state_scheduled,)
+        (cond_task_def_existence >> Edge(label="YES") >> cond_trigger_task_1,)
         state_removed >> cond_task_restore
         cond_task_restore >> Edge(label="NO") >> state_removed
         cond_task_restore >> Edge(label="YES") >> state_none
-        state_scheduled >> component_executor >> state_queued >> 
cond_trigger_task_1
-        cond_trigger_task_1 >> Edge(label="NO") >> component_worker
+        cond_trigger_task_1 >> Edge(label="NO") >> state_scheduled
         cond_trigger_task_1 >> Edge(label="YES") >> component_triggerer
+        state_scheduled >> component_executor >> state_queued >> 
component_worker
         component_triggerer >> state_deferred >> cond_trigger_task_2
-        cond_trigger_task_2 >> Edge(label="NO") >> component_scheduler
+        cond_trigger_task_2 >> Edge(label="NO") >> state_scheduled
         cond_trigger_task_2 >> Edge(label="YES") >> cond_task_complete_1
         cond_task_complete_1 >> Edge(label="NO") >> state_deferred
         cond_task_complete_1 >> Edge(label="YES") >> cond_defer_signal_raised
@@ -196,7 +200,7 @@ def generate_task_lifecycle_diagram():
         (
             state_awaiting_input
             >> Edge(label="response received,\nor timeout default applied")
-            >> component_scheduler
+            >> state_scheduled
         )
         cond_defer_signal_raised >> Edge(label="NO") >> cond_skip_signal
         cond_defer_signal_raised >> Edge(label="YES") >> component_triggerer

Reply via email to