Vamsi-klu commented on PR #65587: URL: https://github.com/apache/airflow/pull/65587#issuecomment-4584957195
This early return fixes the hang by avoiding `SUPERVISOR_COMMS`, but it also drops the mask before it reaches the process that actually redacts virtualenv logs. The virtualenv bootstrap sets `PYTHON_OPERATORS_VIRTUAL_ENV_MODE` and then calls `reinit_supervisor_comms()`; that configures logging with `sending_to_supervisor=True`, which disables the child-side `mask_logs` processor. The `MaskSecret` comms model notes that this message is needed because redaction happens in the parent process. With this return, `Variable.get()` in the virtualenv child still calls `mask_secret()` for values from env/secrets backends, but the value is only registered in the child-local masker. If the callable or a library logs that value, the JSON log is forwarded unredacted and the supervisor does not know to redact it. Can we avoid the deadlock without suppressing mask propagation for the reinitialized virtualenv channel? For example, skip only when supervisor comms are unavailable/stale, or make the send bounded, but continue sending `MaskSecret` once `reinit_supervisor_comms()` has installed the child comms. --- Drafted-by: Codex (GPT-5); reviewed by @Vamsi-klu before posting -- 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]
