kaxil commented on issue #75399:
URL: https://github.com/apache/airflow/issues/75399#issuecomment-6353997853

   Thanks for the report. With `start_from_trigger=True` and 
`end_from_trigger=True` the task never reaches a worker, and rendering an 
operator's template fields happens on the worker, so nothing writes them.
   
   The triggerer can't take this over. It only has the serialized Dag, not the 
Dag file: it doesn't load Dag bundles ([deferring 
docs](https://airflow.apache.org/docs/apache-airflow/3.2.0/authoring-and-scheduling/deferring.html)),
 and the serialized Dag doesn't carry what operator rendering needs (the 
operator class, `user_defined_macros` / `user_defined_filters`, 
`template_searchpath` files). #53071 had the triggerer load the Dag to render 
task fields and was reverted in #55037 for that reason. #75423 hits the same 
wall: in the triggerer the task is a `SerializedBaseOperator`, so its rendering 
call raises and nothing is recorded.
   
   What the triggerer does render is the trigger's own fields, which are the 
operator template fields passed through `start_trigger_args.trigger_kwargs` 
(`target_time` in your example). Recording those would fill the tab for this 
case without loading the Dag, and that's the direction I'd take. When the task 
resumes on a worker (`end_from_trigger=False`), the worker records the full set 
as usual.
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to