safaehar commented on code in PR #68584:
URL: https://github.com/apache/airflow/pull/68584#discussion_r3426817904
##########
airflow-core/tests/unit/jobs/test_triggerer_job.py:
##########
@@ -314,6 +314,31 @@ def fake_run_once(self):
assert events == ["enter", "tick-1", "tick-2", "tick-3", "exit"]
[email protected]("json_logs", [True, False])
+def
test_process_log_messages_configures_logging_matching_json_logs(supervisor_builder,
mocker, json_logs):
+ """``_process_log_messages_from_subprocess`` must reconfigure structlog
with the
+ ``logging.json_logs`` setting, not the ``configure_logging`` default of
``False``.
+
+ Priming this generator calls ``configure_logging()``, which reconfigures
structlog
+ globally. With ``json_logs=True`` but ``json_output`` left to default
``False`` the
+ global logger factory becomes the text ``WriteLogger`` while the
stdout/stderr
+ forwarders emit bytes from the JSON renderer, crashing the triggerer with
+ ``TypeError: can't concat str to bytes`` the first time a trigger
subprocess writes
+ to stdout/stderr. See the regression where enabling json_logs
CrashLoopBackOff-ed
+ triggerers running providers that warn at import time.
Review Comment:
thanks for the review, adressed
--
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]