[SERVER-20299] Delete KEEP_MUTATIONS stage Created: 04/Sep/15 Updated: 02/Aug/18 Resolved: 02/Aug/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Querying |
| Affects Version/s: | None |
| Fix Version/s: | 4.1.2 |
| 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 | ||||||||||||||||||||||||
| Sprint: | Quint 9 09/18/15, QuInt E (01/11/16), Query 2018-07-30, Query 2018-08-13 | ||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Description |
|
The KEEP_MUTATIONS query execution stage was originally intended to make a best effort at returning concurrently modified documents from queries against a node configured to use the MMAP storage engine. However, the necessity of this stage is dubious. My reading of the implementation is that is is only necessary if buffered documents are concurrently updated during the execution of an index intersection plan. Deleting KEEP_MUTATIONS would be welcome code removal that would help to simplify some tricky pieces of the query planner and query execution engine. |
| Comments |
| Comment by Githook User [ 02/Aug/18 ] |
|
Author: {'username': 'dstorch', 'name': 'David Storch', 'email': 'david.storch@10gen.com'}Message: With the removal of MMAPv1, this is no longer important. |
| Comment by Githook User [ 02/Aug/18 ] |
|
Author: {'username': 'dstorch', 'name': 'David Storch', 'email': 'david.storch@10gen.com'}Message: Removes the associated flagForReview() mechanism from |
| Comment by David Storch [ 06/Jun/18 ] |
|
Re-opening this issue. The KEEP_MUTATIONS stage is only needed for the MMAPv1 storage engine, and it should be deleted once we no longer support MMAPv1. |
| Comment by David Storch [ 07/Jan/16 ] |
|
After further discussion, we are closing this ticket as Won't Fix. There is a legitimate purpose for KEEP_MUTATIONS to support the execution of the index intersection PlanStages. Unnecessary uses of KEEP_MUTATIONS have already been removed. |