[SERVER-16742] KEEP_MUTATIONS stage is not needed for storage engines supporting doc-level locking Created: 06/Jan/15 Updated: 15/Jan/15 Resolved: 08/Jan/15 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Querying |
| Affects Version/s: | None |
| Fix Version/s: | 2.8.0-rc5 |
| 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 | ||
| Backwards Compatibility: | Fully Compatible |
| Participants: |
| Description |
|
When using the MMAP v1 storage engine, query stages in a saved state receive invalidation notifications when documents get updated or deleted. Some stages flag documents that are deleted. The set of flagged documents is then read by the KEEP_MUTATIONS stage, which re-checks these documents against the query and returns them if they still match. The invalidation mechanism described above is used only for MMAP v1; query plans running against storage engines such as WiredTiger never receive invalidations and never flag mutated documents for review by the KEEP_MUTATIONS stage. The planner's analysis phase should only add KEEP_MUTATIONS if the storage engine is MMAP v1. |
| Comments |
| Comment by Githook User [ 08/Jan/15 ] |
|
Author: {u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}Message: |