fix(tasks): avoid dropping completed task results during collection #639
+3
−3
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.
Remove the
std::mem::takefromOperationProcessor::collect_completed_resultsMotivation and Context
std::mem::takewould clearOperationProcessor::completed_results, causing completed tasks to be dropped. This madetasks/getandtasks/resultto fail for subsequent requests.How Has This Been Tested?
Breaking Changes
This is technically a breaking change that changes the return type of
OperationProcessor::collect_completed_resultsfromVec<TaskResult>to(). However, I doubt there was anyone calling the method directly without using the#[tool_handler]macro.I did this to avoid introducing an unnecessary
clonecall. If this is a problem, I can change the method so it returns either:self.completed_results.clone()Types of changes
Checklist
Additional context
Fixes #638