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]
