[SERVER-27580] MapReduce should use dropTarget argument to rename rather than doing the drop itself Created: 04/Jan/17 Updated: 27/Oct/23 Resolved: 18/Nov/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | MapReduce |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Mathias Stearn | Assignee: | Backlog - Query Team (Inactive) |
| Resolution: | Gone away | Votes: | 0 |
| Labels: | query-44-grooming | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Query
|
| Participants: |
| Description |
|
Having renameCollection do the dropping makes it more atomic by doing it in a single WriteUnitOfWork and generating a single oplog entry. Currently, it is possible for the drop to become durable or replicate without the rename. Also it is possible for a secondary reader to see the state between the drop and rename. Agg $out already uses dropTarget rather than an explicit drop. |
| Comments |
| Comment by Charlie Swanson [ 18/Nov/20 ] |
|
This is no longer applicable now that mapReduce is implemented in terms of $out. I believe $out uses this option, so this is resolved. |