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]

Reply via email to