Bjorn Olsen created AIRFLOW-6170: ------------------------------------ Summary: BranchPythonOperator does not do XCom push of returned value Key: AIRFLOW-6170 URL: https://issues.apache.org/jira/browse/AIRFLOW-6170 Project: Apache Airflow Issue Type: Improvement Components: operators Affects Versions: 1.10.6 Reporter: Bjorn Olsen Assignee: Bjorn Olsen
BranchPythonOperator subclasses PythonOperator and this means that after it has selected a branch we get a message like this: [2019-12-04 08:39:59,960] \{python_operator.py:114} INFO - Done. Returned value was: chosen_task This returned value is from the execute() method. A user would expect the returned value from this to be pushed to an XCOM but this does not happen due to no return value from the BranchPythonOperator. If we do an XCOM push of the result then we can use the decision made by BranchPythonOperator in downstream tasks. Eg consider this dependency chain: get >> branch >> [ create, update ]>> join >> execute The 'execute' task might need to know whether the 'branch' decided to create a new thing to run, or whether to use the existing one from the 'get'. Without an XCOM push from the branch return value, it is difficult to pick up the correct value later on. -- This message was sent by Atlassian Jira (v8.3.4#803005)