[SERVER-68914] [CQF] Fix object ownership issues of data members of the Memo class Created: 17/Aug/22 Updated: 29/Oct/23 Resolved: 11/Oct/22 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 6.2.0-rc0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Ben Shteinfeld | Assignee: | Svilen Mihaylov (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||
| Operating System: | ALL | ||||||||||||||||||||
| Sprint: | QO 2022-10-03, QE 2022-10-17 | ||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Description |
|
The Memo class contains the following members: const reference to Metadata and const DebugInfo. Both of these cause the Memo class to not be copy assignable. This has many subtle downstream consequences, for example, OptPhaseManager's implicit move constructor leaves phaseManager.memo.metadata as a dangling reference. See this thread for more info. This ticket tracks work to rationalize and implement what the ownership model of these members should be in order to allow the OptPhaseManager to be properly moveable and the Memo copyable and movable. |
| Comments |
| Comment by Githook User [ 11/Oct/22 ] |
|
Author: {'name': 'Svilen Mihaylov', 'email': 'svilen.mihaylov@mongodb.com', 'username': 'smihaylov-mongodb'}Message: |