MaiHoangViet1809 opened a new issue, #27952: URL: https://github.com/apache/airflow/issues/27952
### Apache Airflow version 2.4.3 ### What happened when use output from task decorator as parameter (external_task_ids) in ExternalTaskSensor, it show up this log: Broken DAG: [*******/airflow/dags/TEST_NEW_PIPELINE.py] Traceback (most recent call last): File "*******/env3.10.5/lib/python3.10/site-packages/airflow/models/baseoperator.py", line 408, in apply_defaults result = func(self, **kwargs, default_args=default_args) File "*******/env3.10.5/lib/python3.10/site-packages/airflow/sensors/external_task.py", line 164, in __init__ if external_task_ids and len(external_task_ids) > len(set(external_task_ids)): TypeError: object of type 'PlainXComArg' has no len() ### What you think should happen instead this document https://airflow.apache.org/docs/apache-airflow/stable/tutorial/taskflow.html show that we can use it without any warning, note about it. I think need to fix the line in error log: "if external_task_ids and len(external_task_ids) > len(set(external_task_ids)):" ### How to reproduce ``` from airflow.decorators import dag, task from airflow.operators.python import get_current_context from airflow.sensors.external_task import ExternalTaskSensor from datetime import datetime configure = {"dag_id": "test_new_skeleton", "schedule": None, "start_date": datetime(2022,1,1), } @task def preprocess_dependency() -> list: return ["random-task-name"] @dag(**configure) def pipeline(): t_preprocess = preprocess_dependency() task_dependency = ExternalTaskSensor(task_id=f"Check_Dependency", external_dag_id='random-dag-name-that-exist', external_task_ids=t_preprocess , poke_interval=60, mode="reschedule", timeout=172800, allowed_states=['success'], failed_states=['failed', 'skipped'], check_existence=True,) dag = pipeline() ``` ### Operating System REHL 7 ### Versions of Apache Airflow Providers _No response_ ### Deployment Virtualenv installation ### 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 - [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md) -- 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: commits-unsubscr...@airflow.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org