planner_access.cpp has quite a few uses of owned raw pointers which need to be cleaned up. This code is not exception safe, and our testing infrastructure has proven that it can leak memory in obscure error cases. Furthermore, implementation errors in the planner that would lead to query-fatal exceptions have the additional adverse consequence of leaking memory. Finally, fixing this will make it easier to move towards having the planner propagate errors by exception instead of Status.
- is related to
-
SERVER-38601 Add regression test for memory leak during planning
- Closed
- related to
-
SERVER-35512 QuerySolutionNode should hold its children by unique_ptr
- Closed
-
SERVER-35515 MatchExpression trees should hold children by unique_ptr
- Closed