seanghaeli opened a new issue, #77050: URL: https://github.com/apache/airflow/issues/77050
Triggers run in a subprocess (the trigger runner) that sends its log lines to the triggerer's supervisor process. The runner binds `trigger_id` to every line a trigger logs, and the supervisor uses it to pick the trigger's log file, then drops it (`_process_log_messages_from_subprocess` in `airflow-core/src/airflow/jobs/triggerer_job_runner.py`). Lines with no file to go to, an asset watcher's for example, reach the triggerer's output without the id, so on a logs platform that collects that output you can't filter down to one trigger. The triggerer's own lines about a trigger are inconsistent too: - `Trigger disappeared before we could start it` and `TaskInstance of Trigger is None...` log it as `id=` - `Trigger %s had insertion attempted twice` has it only in the message - `Trigger failed to load code`, `Task not found in resolved Dag version` and `TaskInstance associated with Trigger has no associated Dag Version` don't include it at all Done when: every line the triggerer writes about a trigger carries `trigger_id` as a structured field, including lines that go to its output rather than a trigger's file, and an asset watcher's lines also carry the assets it watches (already available as `watched_assets` in the `RunTrigger` workload), with tests for both. #76527 (open) already keeps `trigger_id` on asset watcher lines that go to the triggerer's output, so this issue covers the rest: the triggerer's own lines about a trigger, and the watched assets on watcher lines. -- 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]
