-
Type:
Improvement
-
Resolution: Duplicate
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Execution
-
None
-
None
-
None
-
None
-
None
-
None
-
None
There are two TODO comments reading "Is this the desired behavior?" in PlanExecutorExpress<Plan>::readyPlanExecution:
- In the WaitingForYield overload — after logging the write conflict and backoff, the code calls _plan.temporarilyReleaseResourcesAndYield with a no-op callback.
- In the WaitingForBackoff overload — same pattern after handling a TemporarilyUnavailable exception.
These TODOs were introduced in SERVER-83759. The question is whether yielding with a no-op callback is the correct behavior, or if a meaningful operation should be performed during the yield. This needs investigation and either confirmation that the behavior is correct (removing the TODOs) or a fix.
- duplicates
-
SERVER-116168 Ensure Express executor doesn't hold locks while sleeping
-
- Backlog
-
- is caused by
-
SERVER-83759 Aggressive IDHACK for update
-
- Closed
-
- is related to
-
SERVER-83759 Aggressive IDHACK for update
-
- Closed
-
-
SERVER-116168 Ensure Express executor doesn't hold locks while sleeping
-
- Backlog
-
-
SERVER-123861 Clarify yield behavior in PlanExecutorExpress::readyPlanExecution for write conflict and backoff cases
-
- Closed
-
- related to
-
SERVER-124018 Complete TODO listed in SERVER-123752
-
- Needs Scheduling
-