SakshamKapoor2911 commented on issue #70526: URL: https://github.com/apache/airflow/issues/70526#issuecomment-5093891565
Correct — neither fix is in the published 3.3.0. #67881 was merged to `main` after the 3.3.0 cut and will ship in the next release. Both can be hot-patched directly into your 3.3.0 installation by editing a single file: `<venv>/lib/python3.x/site-packages/airflow/executors/local_executor.py`. **Shutdown deadlock (#67881)** — apply the [merged diff](https://github.com/apache/airflow/pull/67881/files), which drains `result_queue` during worker join in `end()` and implements `terminate()` to force-kill workers (currently a no-op). **Dispatch deadlock (#70526)** — add one line in `_process_workloads()`, inside the `for workload in workload_list:` loop, before `self.activity_queue.put(workload)`: ```python self._read_results() ``` This drains the result queue before each dispatch, unblocking workers so they can resume consuming the activity queue — breaking the circular wait during normal runtime. I didn't deploy either in production myself — both were verified against unit tests. My branch with the dispatch fix + tests is [here](https://github.com/SakshamKapoor2911/airflow/tree/fix-local-executor-dispatch-deadlock). Would you like me to open a PR? I think you should be able to drive it — you've already done the hard diagnostic work here — but happy to co-author or take it if you'd rather focus on getting your deployment stable first. -- 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]
