fix(celery): account for a chains scenario #11498
Draft
+26
−14
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We've made a few changes to handle celery context recently:
celery.apply
spans even without after_task_publish, when using apply_async #10676In particular the goal of #10676 was to handle a scenario where a long running task may run into an exception, preventing it from closing.
Unfortunately, this scenario did not account for cases where tasks are chained and may not close until later.
See: #11479
With this PR, the sample app in #11479 would attach the celery specific span back to the root span.
This is a draft PR for now because I am waiting to see if there are unexpected failures if we remove the logic to close unclosed prerun spans in some cases. (Some more testing on this is needed).
I also need to add tests for the chains scenario.
Related to AIDM-494
Checklist
Reviewer Checklist