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]
