[SERVER-76230] Investigate improvements to $changeStreamSplitLargeEvent memory usage Created: 18/Apr/23 Updated: 19/Apr/23 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Bernard Gorman | Assignee: | Backlog - Query Execution |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Query Execution
|
| Participants: |
| Description |
|
There may be some remaining opportunities to optimize the performance of $changeStreamSplitLargeEvent in terms of memory usage and serialization time; for instance, by releasing documents instead of holding references to them, and building the fragments directly as BSONObjs. The counterargument is that generally, stages in an agg pipeline should operate only in terms of Document/Value and should not be responsible for managing or fine-tuning the the backing BSON. Perhaps, given that this stage is already tied closely to the BSON representation, it should be an exception to this rule. |