[SERVER-64007] Makes plans produced by Cascades optimizer yield Created: 25/Feb/22 Updated: 29/Oct/23 Resolved: 03/Aug/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 7.1.0-rc0 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | David Storch | Assignee: | Matt Olma |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Assigned Teams: |
Query Optimization
|
||||||||||||||||||||||||
| Backwards Compatibility: | Minor Change | ||||||||||||||||||||||||
| Sprint: | QO 2023-07-10, QO 2023-07-24, QO 2023-08-07 | ||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Description |
|
I noticed that the code which lowers an ABT to an SBE plan in the common query framework code path doesn't correctly set up the SBE plan to yield. For yielding to happen correctly, the scan and ixscan leaf nodes need to have access to the PlanYieldPolicySBE object. This object is responsible for tracking the duration since the last yield, and triggering another yield if necessary. The ABT lowering code does set up a PlanYieldPolicySBE object here, but it doesn't ensure that the scan stages which can actually trigger a yield have access to it. Fixing this will be required before we ship the optimizer, though I believe it will only affect performance characteristics, not correctness. So the work can be deferred. I imagine that this should be scheduled as part of the "SBE Lowering" project. |
| Comments |
| Comment by Githook User [ 07/Aug/23 ] |
|
Author: {'name': 'Matt Olma', 'email': 'matt.olma@mongodb.com', 'username': 'mattsimply'}Message: |
| Comment by Githook User [ 03/Aug/23 ] |
|
Author: {'name': 'Matt Olma', 'email': 'matt.olma@mongodb.com', 'username': 'mattsimply'}Message: |