[SERVER-78998] Refactor checking the value of 'internalQueryFrameworkControl' throughout query code Created: 14/Jul/23 Updated: 05/Dec/23 Resolved: 21/Aug/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 7.1.0-rc0, 7.0.5 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Kristina Znam (Inactive) | Assignee: | Zixuan Zhuang |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Assigned Teams: |
Query Execution
|
||||
| Backwards Compatibility: | Fully Compatible | ||||
| Backport Requested: |
v7.0
|
||||
| Sprint: | QE 2023-08-07, QE 2023-08-21, QE 2023-09-04 | ||||
| Participants: | |||||
| Description |
|
When initializing our CanonicalQuery for query planning, we cannot check the 'internalQueryFrameworkControl' parameter more than once, because this parameter is runtime configurable and can change between the two checks (the value is not guaranteed to be constant throughout the lifetime of a query). One option that was discussed was adding it as a decorator on the operation context or on the expression context. |
| Comments |
| Comment by Githook User [ 05/Dec/23 ] |
|
Author: {'name': 'Ivan Fefer', 'email': 'ivan.fefer@mongodb.com', 'username': 'Fefer-Ivan'}Message: GitOrigin-RevId: 4d6b369eac0284c7a1bda8dd56357eb990c73425 |
| Comment by Ivan Fefer [ 05/Dec/23 ] |
|
Requesting backport to 7.0 as this is a required for correctness of |
| Comment by Githook User [ 21/Aug/23 ] |
|
Author: {'name': 'Zixuan Zhuang', 'email': 'zixuan.zhuang@mongodb.com', 'username': 'leozzx'}Message: |
| Comment by Justin Seyster [ 21/Jul/23 ] |
|
prithwish.dan@mongodb.com, I discussed with mihai.andrei@mongodb.com that if we add a decorator to attach compatibility info to a query, it would be useful to also include the information from featureFlagSbeFull, internalQuerySlotBasedExecutionDisableGroupPushdown, and internalQuerySlotBasedExecutionDisableLookupPushdown. Currently, the SBE pushdown checks will sometimes load these values (which are also runtime configurable) multiple times during query execution and would also benefit from this refactor. |