[SERVER-22178] Should retry a sorted findAndModify if conflicts are detected (non-MMAP only) Created: 13/Jan/16 Updated: 02/Oct/17 Resolved: 31/Mar/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Concurrency, Querying |
| Affects Version/s: | 3.2.1 |
| Fix Version/s: | 3.3.4 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Charlie Swanson | Assignee: | Charlie Swanson |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||
| Operating System: | ALL | ||||||||||||||||||||
| Sprint: | Query F (02/01/16), Query 10 (02/22/16), Query 11 (03/14/16), Query 12 (04/04/16) | ||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Linked BF Score: | 0 | ||||||||||||||||||||
| Description |
|
In the delete stage, we check to see if the document we're about to delete still exists, and still matches the query predicate (code here). If it no longer exists/matches, we skip it. This is undesirable during a sorted findAndModify, because if we are doing an in-memory sort, it will have a limit of 1, so skipping will effectively mean returning null (even if there may have been other matches). A similar problem exists in the update stage. |
| Comments |
| Comment by Githook User [ 31/Mar/16 ] |
|
Author: {u'username': u'cswanson310', u'name': u'Charlie Swanson', u'email': u'cswanson310@gmail.com'}Message: Also update comments on other concurrency tests. |
| Comment by Charlie Swanson [ 28/Mar/16 ] |
|
Reopening to fix BF-2094 |
| Comment by Githook User [ 25/Mar/16 ] |
|
Author: {u'username': u'cswanson310', u'name': u'Charlie Swanson', u'email': u'charlie.swanson@mongodb.com'}Message: WorkingSetCommon::prepareForSnapshotChange shouldn't ever throw an |
| Comment by Githook User [ 25/Mar/16 ] |
|
Author: {u'username': u'cswanson310', u'name': u'Charlie Swanson', u'email': u'charlie.swanson@mongodb.com'}Message: Previously, if there was a WriteConflictException while actually doing |