Ensure scheduler events do not hold on to TaskState objects #6226
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.
ws.processing: dict[TaskState, float]
These event logs hold on to
TaskState
objects which is not great because they can have a bit of a memory footprint due to the run_spec.I initially thought this would also pose a problem about GC but we're clearing all references if a task is forgotten so this should not hold indirect references to the entire graph.
I know the test is a bit weird but it does capture this problem ¯_(ツ)_/¯