diff --git a/airflow-core/src/airflow/models/mappedoperator.py b/airflow-core/src/airflow/models/mappedoperator.py index 9b0b90b5814f5..34753a82e3e39 100644 --- a/airflow-core/src/airflow/models/mappedoperator.py +++ b/airflow-core/src/airflow/models/mappedoperator.py @@ -20,6 +20,7 @@ from typing import TYPE_CHECKING import attrs +import structlog from airflow.models.abstractoperator import AbstractOperator from airflow.sdk.definitions.mappedoperator import MappedOperator as TaskSDKMappedOperator @@ -31,6 +32,8 @@ from airflow.sdk.definitions.context import Context +log = structlog.get_logger() + @attrs.define( kw_only=True, @@ -57,6 +60,13 @@ def expand_start_from_trigger(self, *, context: Context, session: Session) -> bo :meta private: """ + if self.partial_kwargs.get("start_from_trigger", self.start_from_trigger): + log.warning( + "Starting a mapped task from triggerer is currently unsupported", + task_id=self.task_id, + dag_id=self.dag_id, + ) + return False # start_from_trigger only makes sense when start_trigger_args exists. if not self.start_trigger_args: return False