-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Query Optimization
CBR maps PlanStageKey (typedef'ed to PlanStage*) to QuerySolutionNode*. It also added PlanStageKey as a member of PlanStageStats. This allows explain to get the corresponding QuerySolutionNode* for a PlanStageStats node without dereferencing a PlanStage* which may be freed memory.
We should revisit the idea of using the planNodeId as the identifier in this map. We didn't do this because it would require making planNodeId unique across plans. When I attempted to do this, it results in 200+ unique failures. I suspect some of them use the same helper which we could fix by normalizing explain output, but it was too much work to do initially. This ticket is to revisit this task.