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

   ## Summary
   
   Persist the Celery task id to `task_instance.external_executor_id` as soon 
as a workload is successfully submitted.
   
   Today the Celery executor stores the returned `task_id` in `event_buffer`, 
and the scheduler later writes it to the database while handling the 
queued/running event. If the scheduler dies in that window, the replacement 
scheduler cannot adopt the in-flight task because `external_executor_id` is 
still `NULL`, so the task may be reset and re-queued instead of adopted.
   
   This change persists the Celery task id immediately after a successful send 
for task-instance workloads, while keeping the existing event-buffer path as 
the normal reconciliation flow.
   
   Closes #64971
   
   ## Testing
   
   - Added regression coverage in 
`providers/celery/tests/unit/celery/executors/test_celery_executor.py`
   - `git diff --check`
   


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