[SERVER-78037] Truncate preimages at startup to avoid recovery holes Created: 13/Jun/23  Updated: 29/Oct/23  Resolved: 17/Jul/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.1.0-rc0

Type: Bug Priority: Major - P3
Reporter: Jordi Olivares Provencio Assignee: Haley Connelly
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-78428 Truncate change stream change collect... Closed
Problem/Incident
Related
related to SERVER-78892 Test repair behavior on change stream... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Execution EMEA Team 2023-06-26, Execution EMEA Team 2023-07-10, Execution EMEA Team 2023-07-24
Participants:
Linked BF Score: 148

 Description   

During crash recovery untimestamped truncates can spontaneously be partially rolled back due to lack of information at the WiredTiger layer.

This can cause "holes" to manifest in preimages and change collections where we have patches of missing data that should've expired.

To avoid these holes we should range truncate the collections at startup so that the expired data is deleted again and the holes are not presented to the end user.



 Comments   
Comment by Githook User [ 17/Jul/23 ]

Author:

{'name': 'Haley Connelly', 'email': 'haley.connelly@mongodb.com', 'username': 'haleyConnelly'}

Message: SERVER-78037 Truncate expired pre-images after unclean shutdown
Branch: master
https://github.com/mongodb/mongo/commit/231c9229f80e46ddeada0e917d94db095c79d585

Generated at Thu Feb 08 06:37:18 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.