[
https://issues.apache.org/jira/browse/AIRFLOW-879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Imberman closed AIRFLOW-879.
-----------------------------------
Resolution: Auto Closed
> apply_defaults ignored with BaseOperator._set_relatives dag assignment
> ----------------------------------------------------------------------
>
> Key: AIRFLOW-879
> URL: https://issues.apache.org/jira/browse/AIRFLOW-879
> Project: Apache Airflow
> Issue Type: Bug
> Components: core
> Reporter: George Leslie-Waksman
> Priority: Major
>
> When a task is instantiated, the apply_defaults decorator retrieves
> default_args and params from the task's dag's defaults_args and params if a
> dag is specified.
> During set_upstream/set_downstream if task A has a dag assigned but task B
> does not, task B will be assigned the dag from task A.
> The set_upstream/set_downstream implicit dag assignment occurs after
> apply_defaults has been processed so the task will not receive the dag's
> default args.
> {code:title=bad_arg_dag.py}
> import datetime
> import airflow.models
> from airflow.operators.dummy_operator import DummyOperator
> DAG = airflow.models.DAG(
> dag_id='test_dag',
> schedule_interval=None,
> start_date=datetime.datetime(2017, 2, 14),
> default_args={'owner': 'airflow', 'queue': 'some_queue'},
> )
> TASK1 = DummyOperator(
> task_id='task1',
> dag=DAG,
> )
> TASK2 = DummyOperator(
> task_id='task2',
> )
> TASK2.set_upstream(TASK1)
> {code}
> In this case, both TASK1 and TASK2 will be assigned to DAG and TASK1 will
> receive the dag default queue of 'some_queue' but TASK2 will receive the
> airflow configuration default queue of 'default'
--
This message was sent by Atlassian Jira
(v8.3.4#803005)