[SERVER-41913] Avoid in-place modify operations for logged collections Created: 25/Jun/19  Updated: 29/Oct/23  Resolved: 25/Jun/19

Status: Closed
Project: Core Server
Component/s: WiredTiger
Affects Version/s: None
Fix Version/s: 3.6.14, 4.0.11, 4.2.0-rc3, 4.3.1

Type: Bug Priority: Major - P3
Reporter: Michael Cahill (Inactive) Assignee: Michael Cahill (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Problem/Incident
Related
is related to SERVER-41016 Calculate deltas for updates to large... Closed
is related to WT-4884 Test for recovery correctness with mo... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v4.2, v4.0, v3.6
Sprint: Storage Engines 2019-07-01
Participants:
Linked BF Score: 17

 Description   

In SERVER-41016, we enabled functionality in WiredTiger to represent changes to documents as deltas in cache and in the WiredTiger log (aka journal). That change was primarily aimed at replicated workloads, so the cache pressure more closely matches the size of operations in the oplog.

However, this is the first time we are using size-changing deltas in MongoDB, which is also the first operation that is not idempotent in WiredTiger's log. There have been several test failures that could be explained by such operations being applied by WiredTiger recovery on top of data that already includes the change.

Disable the new modify functionality for collections that rely on the WiredTiger log for recovery. This should not matter for the original cases SERVER-41016 was intended to address.



 Comments   
Comment by Githook User [ 31/Jul/19 ]

Author:

{'name': 'Michael Cahill', 'email': 'michael.cahill@mongodb.com', 'username': 'michaelcahill'}

Message: SERVER-41913 Avoid in-place modify operations for logged collections.

(cherry picked from commit 8b1d5ef199d881ab4fce61e585006436e9e6d2d1)
(cherry picked from commit abf661c2657e08a53c4fd13d939b4587ddaf734d)
(cherry picked from commit b583a5704eaf895facadaf470ddd9cf2bfe6270e)
Branch: v3.6
https://github.com/mongodb/mongo/commit/201d8b967486df9b9cc0948507b537b520371467

Comment by Githook User [ 12/Jul/19 ]

Author:

{'name': 'Michael Cahill', 'username': 'michaelcahill', 'email': 'michael.cahill@mongodb.com'}

Message: SERVER-41913 Avoid in-place modify operations for logged collections.

(cherry picked from commit 8b1d5ef199d881ab4fce61e585006436e9e6d2d1)
(cherry picked from commit abf661c2657e08a53c4fd13d939b4587ddaf734d)
Branch: v4.0
https://github.com/mongodb/mongo/commit/b583a5704eaf895facadaf470ddd9cf2bfe6270e

Comment by Githook User [ 26/Jun/19 ]

Author:

{'name': 'Michael Cahill', 'username': 'michaelcahill', 'email': 'michael.cahill@mongodb.com'}

Message: SERVER-41913 Avoid in-place modify operations for logged collections.

(cherry picked from commit 8b1d5ef199d881ab4fce61e585006436e9e6d2d1)
Branch: v4.2
https://github.com/mongodb/mongo/commit/abf661c2657e08a53c4fd13d939b4587ddaf734d

Comment by Githook User [ 25/Jun/19 ]

Author:

{'name': 'Michael Cahill', 'email': 'michael.cahill@mongodb.com', 'username': 'michaelcahill'}

Message: SERVER-41913 Avoid in-place modify operations for logged collections.
Branch: master
https://github.com/mongodb/mongo/commit/8b1d5ef199d881ab4fce61e585006436e9e6d2d1

Generated at Thu Feb 08 04:59:03 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.