[SERVER-84175] PlanExecutor::getNext() is returning unowned BSON objects Created: 14/Dec/23 Updated: 09/Jan/24 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Paolo Polato | Assignee: | Backlog - Query Execution |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Assigned Teams: |
Query Execution
|
||||
| Participants: | |||||
| Linked BF Score: | 160 | ||||
| Description |
|
The changes introduced by SERVER-82970 exposed the fact that the PlanExecutor::getNext() (or at least, the implementation defined by PlanExecutorImpl) is returning unowned BSONObject to its callers, which may experience segmentation fault error in case the executor object gets destroyed before accessing such objects. This ticket proposes to either implement a more robust behaviour - or to make the limitation explicit through the documentation of the interface. |