[SERVER-4401] query optimizer cursor may return partial result set for a $or query if the last index match for a $or clause is deleted while it is "current" Created: 01/Dec/11  Updated: 11/Jul/16  Resolved: 24/Dec/11

Status: Closed
Project: Core Server
Component/s: Querying
Affects Version/s: None
Fix Version/s: 2.0.3, 2.1.0

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   

This is a concurrency issue where the cursor will finish instead of advancing from one $or clause to the next if a particular race condition occurs. This currently affects distinct, group, map/reduce etc which rely on the query optimizer cursor.

Test and fix are ready to go if you assign a version.



 Comments   
Comment by auto [ 24/Dec/11 ]

Author:

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

Message: SERVER-4401 attempt to advance to next or clause if a cursor becomes invalid on yield recovery
Branch: v2.0
https://github.com/mongodb/mongo/commit/2d5c1aeeb470df3e79b1400a5410b73676d73c97

Comment by auto [ 12/Dec/11 ]

Author:

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

Message: SERVER-4149 update checkLocation() to accommodate SERVER-4401 changes to advance
Branch: master
https://github.com/mongodb/mongo/commit/f4adf5f3d38ee85f764edf64d392fc96aeb94f4f

Comment by auto [ 01/Dec/11 ]

Author:

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

Message: SERVER-4401 attempt to advance to next or clause if a cursor becomes invalid on yield recovery
Branch: master
https://github.com/mongodb/mongo/commit/7288cf26686633d268c9f99fdabbb3f051c48077

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