Skip to content

Tasks created using "dynamic task mapping" ignore the Task Group passed as argument #30932

@LuizArmesto

Description

@LuizArmesto

Apache Airflow version

main (development)

What happened

When creating a DAG with Task Groups and a Mapped Operator, if the Task Group is passed as argument to Mapped Operator's partial method it is ignored and the operator is not added to the group.

What you think should happen instead

The Mapped Operator should be added to the Task Group passed as an argument.

How to reproduce

Create a DAG with a source code like the following one

from airflow import DAG
from airflow.operators.bash import BashOperator
from airflow.operators.empty import EmptyOperator
from airflow.utils import timezone
from airflow.utils.task_group import TaskGroup


with DAG("dag", start_date=timezone.datetime(2016, 1, 1)) as dag:
    start = EmptyOperator(task_id="start")
    finish = EmptyOperator(task_id="finish")

    group = TaskGroup("test-group")
    commands = ["echo a", "echo b", "echo c"]
    mapped = BashOperator.partial(task_id="task_2", task_group=group).expand(bash_command=commands)

    start >> group >> finish

# assert mapped.task_group == group

Operating System

macOS 13.2.1 (22D68)

Versions of Apache Airflow Providers

No response

Deployment

Other

Deployment details

No response

Anything else

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions