[SERVER-47140] Use diffing for full document replacement updates Created: 26/Mar/20 Updated: 28/Dec/22 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | Querying |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Ian Boros | Assignee: | Katya Kamenieva |
| Resolution: | Unresolved | Votes: | 3 |
| Labels: | qexec-team | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Participants: | |||||||||||||||||
| Case: | (copied to CRM) | ||||||||||||||||
| Description |
|
We currently log full document replacement-style updates as "replacement" oplog entries. We could use the recently introduced diffing code to instead only log the diff between the pre image and post image. This would have consequences for change streams since some full replacement updates would begin appearing as "update" change events instead of "replacement" change events. Currently (4.4) the only way for users to get a point-in-time post image of an update is by performing a replacement-style update. By using the diffing we would effectively be taking away this unintended "feature." |
| Comments |
| Comment by Ana Meza [ 25/Oct/22 ] |
|
Sending to Backlog as agreed during QO Quick Wins Triage |
| Comment by Joe Sack (Inactive) [ 15/Apr/22 ] |
|
Product team agrees this is good to add to query-product-priority |
| Comment by Ian Boros [ 02/Dec/20 ] |
|
Marking this as "related to" SERVER-36405. If we apply the diffing algorithm to replacement updates, we would always detect no ops. |
| Comment by Ian Boros [ 15/Sep/20 ] |
|
Removing this from the epic, after discussion with Dave.
Also removing the fix version so this comes up in triage. |