github-actions[bot] opened a new pull request, #75564: URL: https://github.com/apache/airflow/pull/75564
* Go SDK: stop log attributes from displacing standard log fields A user attribute whose key collides with a standard field replaced that field instead of losing to it. "event" is the one that hurts: the supervisor takes a task's log line out of that key, so a Dag logging an attribute called "event" lost its message entirely, with nothing left in the line to show the message had ever existed. "timestamp" was displaced the same way, leaving the supervisor a value it cannot decode as a datetime. "level" and "logger" were already immune, for no reason other than being written after the attributes rather than before them. * Move a clashing log attribute aside instead of overwriting it Letting the standard field win the slot still discarded a value the caller asked to log. Reserving the slot and re-keying the attribute to "fields.<key>" keeps both: the supervisor finds the message in "event" and a parsable "timestamp", and the attribute survives under a name that collides with nothing. logrus resolves the same clash the same way. Rejecting the attribute outright, as structlog's TypeError does, is not available here. slog discards a handler's error, so returning one would drop the whole line, and a panic would surface in production rather than fail fast at the call site. (cherry picked from commit 9761167313d84d1367f3bb4735aa88242ad4c956) Co-authored-by: Henry Chen <[email protected]> -- 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]
