[SERVER-21227] MultiPlanStage::invalidate() should not flag and drop invalidated WorkingSetMembers Created: 30/Oct/15 Updated: 17/Nov/15 Resolved: 05/Nov/15 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Querying |
| Affects Version/s: | None |
| Fix Version/s: | 2.6.12, 3.0.8, 3.2.0-rc3 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | David Storch | Assignee: | David Storch |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Backport Completed: | |||||||||
| Sprint: | QuInt C (11/23/15) | ||||||||
| Participants: | |||||||||
| Description |
|
If a result document buffered inside the MultiPlanStage is invalidated by an update or delete during a yield, this result is dropped from the result set and flagged for review by the KeepMutationsStage: However, KeepMutationsStage is always below MultiPlanStage in the query execution tree, which means that the flagged results will never get revisited. As a result, these documents will be absent from the result set. In general, concurrently modified results may be dropped from the query result set (see the Concurrency FAQ). However, the system should make a best effort to preserve results. We could do better in this case by simply copying the pre-image of the about-to-be modified document rather than dropping it. |
| Comments |
| Comment by Githook User [ 06/Nov/15 ] |
|
Author: {u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}Message: |
| Comment by Githook User [ 06/Nov/15 ] |
|
Author: {u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}Message: (cherry picked from commit e70c8cb86571dba41fda10e26a46274fe4d66591) Conflicts: |
| Comment by Githook User [ 05/Nov/15 ] |
|
Author: {u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}Message: |