This is an automated email from the ASF dual-hosted git repository.

dstandish pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new d264a8616ff Disable starting a mapped task from trigger (#48006)
d264a8616ff is described below

commit d264a8616ff79b0ca6d2fcb2c0140695314db910
Author: Daniel Standish <15932138+dstand...@users.noreply.github.com>
AuthorDate: Mon Mar 24 09:13:14 2025 -0700

    Disable starting a mapped task from trigger (#48006)
    
    The scheduler versions of "ExpandInput" classes don't have a "resolve" 
method anymore so scheduler crashes when trying to expand_start_from_trigger.  
To keep the scheduler running, for now we disable the feature.
    
    Related to https://github.com/apache/airflow/issues/47735
    
    May be fixed in https://github.com/apache/airflow/issues/48009
---
 airflow-core/src/airflow/models/mappedoperator.py | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/airflow-core/src/airflow/models/mappedoperator.py 
b/airflow-core/src/airflow/models/mappedoperator.py
index 9b0b90b5814..34753a82e3e 100644
--- a/airflow-core/src/airflow/models/mappedoperator.py
+++ b/airflow-core/src/airflow/models/mappedoperator.py
@@ -20,6 +20,7 @@ from __future__ import annotations
 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 @@ if TYPE_CHECKING:
 
     from airflow.sdk.definitions.context import Context
 
+log = structlog.get_logger()
+
 
 @attrs.define(
     kw_only=True,
@@ -57,6 +60,13 @@ class MappedOperator(TaskSDKMappedOperator, 
AbstractOperator):  # type: ignore[m
 
         :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

Reply via email to