Repository navigation
TriggerDagRunOperator is failing #49113
Copy link
Copy link
Closed
Labels
area:corekind:bugThis is a clearly a bugThis is a clearly a bugpriority:highHigh priority bug that should be patched quickly but does not require immediate new releaseHigh priority bug that should be patched quickly but does not require immediate new release
Milestone
Description
Apache Airflow version
3.0.0rc2
If "Other Airflow 2 version" selected, which one?
No response
What happened?
ERROR - Unable to decode message: line="{\"state\":\"success\"}\n": source="CommsDecoder"
ValidationError: 1 validation error for tagged-union[AssetResult,AssetEventsResult,ConnectionResult,DagRunStateResult,DRCount,ErrorResponse,PrevSuccessfulDagRunResult,StartupDetails,TaskRescheduleStartDate,TICount,VariableResult,XComResult,XComCountResponse,OKResponse]
Unable to extract tag using discriminator 'type' [type=union_tag_not_found, input_value={'state': 'success'}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.11/v/union_tag_not_found
File "/opt/airflow/task-sdk/src/airflow/sdk/execution_time/task_runner.py", line 582 in get_message
File "/usr/local/lib/python3.9/site-packages/pydantic/type_adapter.py", line 468 in validate_json
[2025-04-11, 10:19:57] ERROR - Top level error: source="task"
ValidationError: 1 validation error for tagged-union[AssetResult,AssetEventsResult,ConnectionResult,DagRunStateResult,DRCount,ErrorResponse,PrevSuccessfulDagRunResult,StartupDetails,TaskRescheduleStartDate,TICount,VariableResult,XComResult,XComCountResponse,OKResponse]
Unable to extract tag using discriminator 'type' [type=union_tag_not_found, input_value={'state': 'success'}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.11/v/union_tag_not_found
File "/opt/airflow/task-sdk/src/airflow/sdk/execution_time/task_runner.py", line 1167 in main
File "/opt/airflow/task-sdk/src/airflow/sdk/execution_time/task_runner.py", line 7[8](http://localhost:28080/dags/trigger_controller_dag/runs/manual__2025-04-11T10:18:56.774290+00:00/tasks/test_trigger_dagrun?try_number=1#8)6 in run
File "/opt/airflow/task-sdk/src/airflow/sdk/execution_time/task_runner.py", line 936 in _handle_trigger_dag_run
File "/opt/airflow/task-sdk/src/airflow/sdk/execution_time/task_runner.py", line 582 in get_message
File "/usr/local/lib/python3.9/site-packages/pydantic/type_adapter.py", line 468 in validate_json
What you think should happen instead?
No response
How to reproduce
Run the below Dag:
from airflow.sdk import DAG
from pendulum import today
from airflow.providers.standard.operators.trigger_dagrun import TriggerDagRunOperator
"""This example illustrates the use of the TriggerDagRunOperator. There are 2
entities at work in this scenario:
1. The Controller DAG - the DAG that conditionally executes the trigger
2. The Target DAG - DAG being triggered (in trigger_dagrun_target.py)
"""
dag = DAG(
dag_id="trigger_controller_dag",
default_args={"owner": "airflow", "start_date": today('UTC').add(days=-2)},
schedule=None,
tags=["core"],
)
trigger = TriggerDagRunOperator(
task_id="test_trigger_dagrun",
trigger_dag_id="trigger_target_dag",
reset_dag_run=True,
wait_for_completion=True,
conf={"message": "Hello World"},
dag=dag,
)from airflow.sdk import DAG
from airflow.providers.standard.operators.bash import BashOperator
from airflow.providers.standard.operators.python import PythonOperator
from pendulum import today
dag = DAG(
dag_id="trigger_target_dag",
default_args={"start_date": today('UTC').add(days=-2), "owner": "Airflow"},
tags=["core"],
schedule=None, # This must be none so it's triggered by the controller
is_paused_upon_creation=False, # This must be set so other workers can pick this dag up. mabye it's a bug idk
)
def run_this_func(**context):
print(
f"Remotely received value of {context['dag_run'].conf['message']} for key=message "
)
run_this = PythonOperator(
task_id="run_this",
python_callable=run_this_func,
dag=dag,
)
# You can also access the DagRun object in templates
bash_task = BashOperator(
task_id="bash_task",
bash_command='echo "Here is the message: $message"',
env={"message": '{{ dag_run.conf["message"] if dag_run else "" }}'},
dag=dag,
)Operating System
Linux
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
- I agree to follow this project's Code of Conduct
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:corekind:bugThis is a clearly a bugThis is a clearly a bugpriority:highHigh priority bug that should be patched quickly but does not require immediate new releaseHigh priority bug that should be patched quickly but does not require immediate new release
Activity
tirkarthi commentedon Apr 11, 2025
cc @gopidesupavan
tirkarthi commentedon Apr 11, 2025
I saw this too morning but this was only in deferrable mode. Does it happen during normal mode too?
gopidesupavan commentedon Apr 11, 2025
hey yes i noticed this already yesterday, this side effect of one of the pr. i have raised change #49095
gopidesupavan commentedon Apr 11, 2025
This happens for both modes
gopidesupavan commentedon Apr 11, 2025
Just seen one more issue, GeTICount response conversion also failing. updated PR to include both changes
gopidesupavan commentedon Apr 11, 2025
fixed here #49095
gopidesupavan commentedon Apr 11, 2025
@atul-astronomer this is merged could you please check on main, i have closed this, if not working we can reopen :)
atuls4441 commentedon Apr 11, 2025
Working fine now on main latest.