[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:
Related
related to SERVER-58272 Change Streams for complex nested fields Closed
related to SERVER-65364 Update logic should pass info about w... Closed
is related to SERVER-36405 Update should be smarter about recogn... Backlog
Participants:
Case:

 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.

Generated at Thu Feb 08 05:13:24 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.