The GitHub Actions job "Tests (ARM)" on airflow.git/main has failed. Run started by GitHub user potiuk (triggered by potiuk).
Head commit for run: ab4c0978a76e4f44148fccd3a4f4fa28404ca317 / Sean Ghaeli <[email protected]> Fix in-process Execution API loop stopped while transport still in use (#68865) * Fix in-process Execution API loop stopped while transport still in use #68840 moved the InProcessExecutionAPI background event-loop + thread cleanup into a weakref.finalize keyed on the InProcessExecutionAPI instance. But callers build a sync Client from InProcessExecutionAPI().transport and discard the factory object, so the instance is garbage-collected while the transport is still in use. The finalizer then stops the loop, and every subsequent request hangs on the dead loop -- surfacing as Timeout failures across the Dag-processor and triggerer in-process API tests on main (Error while closing in-process execution API lifespan -> TimeoutError). Key the finalizer on the returned WSGI transport instead of the factory instance, so loop/thread/lifespan teardown happens when the transport (which the Client holds) is collected, not when the throwaway factory is. Verified locally: test_processor.py::test_top_level_variable_set and test_top_level_variable_access_not_found now pass (previously hung to timeout). * Test transport-tied lifecycle for in-process Execution API Rewrite test_in_process_execution_api_teardown as test_in_process_execution_api_transport_lifecycle: assert that dropping the factory instance leaves the loop running while the transport is held, and only dropping the transport stops the loop + joins the daemon thread. This fails against finalizing on the instance (the regression) and passes with the finalizer keyed on the transport. Verified locally: 1 passed in 11.58s. --------- Co-authored-by: Sean Ghaeli <[email protected]> Report URL: https://github.com/apache/airflow/actions/runs/27997486875 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
