[SERVER-76238] Evaluate replacing NO_YIELD with INTERRUPT_ONLY Created: 18/Apr/23 Updated: 07/Nov/23 Resolved: 07/Nov/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 7.2.0-rc0 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Louis Williams | Assignee: | Rushan Chen |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | query-director-triage | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Query Execution
|
| Backwards Compatibility: | Fully Compatible |
| Sprint: | QE 2023-06-26, QE 2023-07-10, QE 2023-07-24, QE 2023-08-07, QE 2023-08-21, QE 2023-09-04, QE 2023-09-18, QE 2023-10-02, QE 2023-10-16, QE 2023-10-30, QE 2023-11-13 |
| Participants: |
| Description |
|
The existence of INTERRUPT_ONLY implies that there is a use case for a query not being interruptible, but all of our database operations should be interruptible. The task here is to try to remove NO_YIELD entirely and replace it with INTERRUPT_ONLY or at least understand why we still need NO_YIELD. |
| Comments |
| Comment by Githook User [ 06/Nov/23 ] |
|
Author: {'name': 'Rushan Chen', 'email': 'rushan.chen@mongodb.com', 'username': 'ruchen'}Message: |
| Comment by Rushan Chen [ 08/Aug/23 ] |
|
This experiement (override when initiating the PlanYieldPolicy Object) showed that replacing NO_YIELD with INTERRUPT_ONLY is safe to carry out. It covers all PlanYieldPolicy objects created via plan_executor_factory::make call, including those invoked from classic, SBE as well as the emerging CQF paths in getExecuter(). The following pull request will implement this replacement. |
| Comment by Kyle Suarez [ 18/Apr/23 ] |
|
We think we should do this; sending this to the director triage to discuss scheduling. |