yuqian90 commented on issue #17012:
URL: https://github.com/apache/airflow/issues/17012#issuecomment-883089001


   @uranusjr already explained the differences between these states. I just 
want to re-iterate that `none_failed_or_skipped` and `none_failed` are 
different. The difference is explained in [Trigger 
Rules](https://airflow.apache.org/docs/apache-airflow/stable/concepts/dags.html#trigger-rules).
   
   In the documented example, if `join` is set to `none_failed_or_skipped`, it 
is skipped when both `branch_false` and `follow_branch_a` are skipped. However, 
if `join` is set to `none_failed`, it will be `success` even if both 
`branch_false` and `follow_branch_a` are skipped.
   
![image](https://user-images.githubusercontent.com/6637585/126268585-a4ac658e-95f9-4b55-a5ed-097a8cb5c66b.png)
   
   In practices, I do find the `none_failed_or_skipped` behaviour more useful, 
especially when used to join branching logic. However, I don't know if any 
users out there prefer the behaviour of `none_failed`.
   
   The code that causes such difference can be found here:
   
https://github.com/apache/airflow/blob/866a601b76e219b3c043e1dbbc8fb22300866351/airflow/ti_deps/deps/trigger_rule_dep.py#L146


-- 
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