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]

Reply via email to