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

   Since #73916 landed, BaseExecutor now keeps a UUID-to-coordinates map for 
each
   attempt and drops an entry once the key is no longer queued, running or in 
the
   event buffer. The issue was that LocalExecutor never added dispatched work to
   `running`, so the entry was dropped while the task was still executing. The
   scheduler then received the final event with no coordinates ("Received 
executor
   event with state success for task instance <uuid> (coordinates=None)").
   
   This PR fixes that, and addresses a few gotchas that could, in edge cases
   around callbacks or post-task finalization, lead to a forever-dead/locked
   worker slot.
   
   Holding the key in `running` until the worker finishes needs LocalExecutor
   to know when that is, and workers share one activity queue so the parent
   cannot tell which worker took which workload. Results now carry the
   worker's pid and START tells the parent which pid owns the key. That lets
   us:
   
   - release the slot only on a terminal result from the owning worker,
   ignoring results from unknown pids or pids that don't own the key
   - fail the workload when its worker dies, instead of leaving it in
   `running` until the scheduler's heartbeat timeout
   
   A resumed task reuses its key, so a per-key dispatch count stops the old
   run's terminal result from releasing the new run's slot.
   <!--
   Generated-by: [Tool Name] following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
   -->
   
   ---
   
   * Read the **[Pull Request 
Guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#pull-request-guidelines)**
 for more information. Note: commit author/co-author name and email in commits 
become permanently public when merged.
   * For fundamental code changes, an Airflow Improvement Proposal 
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals))
 is needed.
   * When adding dependency, check compliance with the [ASF 3rd Party License 
Policy](https://www.apache.org/legal/resolved.html#category-x).
   * For significant user-facing changes create newsfragment: 
`{pr_number}.significant.rst`, in 
[airflow-core/newsfragments](https://github.com/apache/airflow/tree/main/airflow-core/newsfragments).
 You can add this file in a follow-up commit after the PR is created so you 
know the PR number.
   
   ---
   
   <sub>Stack created with <a href="https://github.com/github/gh-stack";>GitHub 
Stacks CLI</a> • <a href="https://gh.io/stacks-feedback";>Give Feedback 
💬</a></sub>


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