potiuk commented on issue #56723:
URL: https://github.com/apache/airflow/issues/56723#issuecomment-3418703943

   > This should be the expected behavior right ?
   
   Sounds about right. "always" means that that B, C and `start`  should start 
together. "always" applies to all upstream dependencies of those tasks (both 
"start" and "A"). 
   
   As @ashb wrote - we do not have the notion of "task group" upstream task - 
so if B and C have "always" - they will start immediately, without waiting for 
anything, there is nothing like "starting a task group". 
   
   I guess that (if interpret correctly the use case here) - If we would like 
to wait with starting B, C until "start" completes, but not for A, then the 
right dependency should be:
   
   start -> ["A", "B", "C", "E"]  (with default trigger types) 
   
   Then "start" becomes effectively "task group" prerequisite (because it is 
prerequisite of all tasks that are "entry" nodes for the task group. 
   
   Another way of modelling "tg" dependency in this case would be to have a 
separate "0" Empty task (kind of single entry-point for the task group).
   
   ```
   "start" >> "0"
   "0" >> {"A", "B", "C"}
   "A" >> "E" 
   "C" >> "D"
   "E" >> "F"
   ```
   
   In the model where A, B, C  can all start together, they are effectively at 
the same "up/down" stream place in Dag.
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to