[SERVER-5924] Implicit yield reporting in MultiCursor::recoverFromYield() can overstate the yield count if the cursor's current() document is deleted during a yield. Created: 24/May/12  Updated: 11/Jul/16  Resolved: 07/Jun/12

Status: Closed
Project: Core Server
Component/s: Querying
Affects Version/s: None
Fix Version/s: 2.1.2

Type: Bug Priority: Major - P3
Reporter: Aaron Staple Assignee: Aaron Staple
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Operating System: ALL
Participants:

 Description   

     void MultiCursor::recoverFromYield() {
         noteYield();
         Cursor::recoverFromYield();
         advanceExhaustedClauses();
     }

The noteYield() above can be called in cases where a query optimizer cursor has entered takeover mode and is being advanced due to a deletion.



 Comments   
Comment by auto [ 06/Jun/12 ]

Author:

{u'login': u'astaple', u'name': u'Aaron', u'email': u'aaron@10gen.com'}

Message: SERVER-5924 Move explain yield count recording from the plan level to the clause level. Record yields in the query optimizer cursor in response to an explicit notification, not an implicit observation.
Branch: master
https://github.com/mongodb/mongo/commit/8bed868653a503c91f33e591965fe910afbfa64a

Generated at Thu Feb 08 03:10:16 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.