[ https://issues.apache.org/jira/browse/AIRFLOW-4453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17010232#comment-17010232 ]
Joel Croteau commented on AIRFLOW-4453: --------------------------------------- The problem seems to be [this code|https://github.com/kaxil/airflow/blob/master/airflow/ti_deps/deps/trigger_rule_dep.py#L157]: {code:python} elif tr == TR.NONE_FAILED: if upstream_failed or failed: ti.set_state(State.UPSTREAM_FAILED, session) elif skipped == upstream: ti.set_state(State.SKIPPED, session) {code} This causes a task to skip if all upstream dependencies are skipped, which directly contradicts [the documentation|https://airflow.apache.org/docs/stable/concepts.html#trigger-rules], which says "`none_failed`: all parents have not failed (`failed` or `upstream_failed`) i.e. all parents have succeeded or been skipped." There shouldn't be any reason that `none_failed` should ever have to look at skipped upstream tasks, so we should really just get rid of the second check altogether. > none_failed trigger rule cascading skipped state to downstream tasks > -------------------------------------------------------------------- > > Key: AIRFLOW-4453 > URL: https://issues.apache.org/jira/browse/AIRFLOW-4453 > Project: Apache Airflow > Issue Type: Bug > Components: DAG > Affects Versions: 1.10.3 > Reporter: Dmytro Kulyk > Assignee: Kaxil Naik > Priority: Major > Labels: skipped > Fix For: 1.10.5 > > Attachments: cube_update.py, image-2019-05-02-18-11-28-307.png, > simple_skip.png > > > Task with trigger_rule = 'none_failed' cascading *skipped *status to > downstream task > * task have multiple upstream tasks > * trigger_rule set to 'none_failed' > * some of upstream tasks can be skipped due to *latest only* > Basing on documentation this shouldn't happen > !image-2019-05-02-18-11-28-307.png|width=655,height=372! > DAG attached -- This message was sent by Atlassian Jira (v8.3.4#803005)