[SERVER-78428] Truncate change stream change collections at startup to avoid recovery holes Created: 26/Jun/23  Updated: 29/Oct/23  Resolved: 18/Sep/23

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

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

Issue Links:
Depends
depends on SERVER-78037 Truncate preimages at startup to avoi... Closed
Related
related to SERVER-78892 Test repair behavior on change stream... Closed
related to SERVER-81485 More robust test coverage for change ... Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution EMEA Team 2023-07-10, Execution EMEA Team 2023-07-24, Execution EMEA Team 2023-09-04, Execution EMEA Team 2023-09-18, Execution EMEA Team 2023-10-02
Participants:

 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 [ 18/Sep/23 ]

Author:

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

Message: SERVER-78428 Truncate change stream change collections at startup to avoid recovery holes
Branch: master
https://github.com/mongodb/mongo/commit/98d349bab879fd2c49ad9a49740c93bdf8a4d5d2

Comment by Haley Connelly [ 05/Jul/23 ]

Marking as depends onĀ SERVER-78037, as consensus on the approach for that ticket will help determine the route we take with this one.

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