[SERVER-82719] Move management of aggregation "context" into AggregationPlan Created: 02/Nov/23 Updated: 03/Nov/23 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Will Buerger | Assignee: | Backlog - Query Integration |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | quick-tech-debt | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Assigned Teams: |
Query Integration
|
||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Description |
|
AggregationPlan should manage ownership of the AutoGetCollectionForReadCommandMaybeLockFree, AutoStatsTracker, and MultipleCollectionAccessor used in the run_aggregate path to make lock and collection acquisition clearer along the path. With this change, we can also then avoid the passing of "initContext" and "resetContext" lambda captures as parameters throughout the file. This should warrant thinking of a better name than AggregationPlan to make it clear that the structure is holding important lock state. |