bunnysayzz opened a new pull request, #73979:
URL: https://github.com/apache/airflow/pull/73979

   Bundle refreshes were SIGKILLing callback processors for Dags packaged 
inside zip archives even though the Dag files were still present.
   
   The scanner reports a zip archive as a single entry (`my_dags.zip`) while 
callback processors are keyed by the Dag file path inside the archive 
(`my_dags.zip/my_dag.py`). `terminate_orphan_processes` compared the two 
directly, so each refresh saw the inner path as missing and killed the 
processor. The same direct comparison in `purge_removed_files_from_queue` and 
`remove_orphaned_file_stats` dropped the Dag from the queue and wiped its stats 
on every refresh too.
   
   The presence check now treats a path inside a zip as observed while its 
containing archive is in the scan set (`_file_is_present` in `manager.py`), 
applied to all three call sites so they stay consistent.
   
   Closes #73858.
   
   Tests: four new unit tests in 
`airflow-core/tests/unit/dag_processing/test_manager.py` covering the 
kill/no-kill directions for `terminate_orphan_processes`, the queue purge, and 
the stats cleanup.
   
   Note: I could not run the Airflow test suite in this environment, so CI will 
need to confirm.
   


-- 
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