[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: |
|
||||||||||||||||||||
| 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: |
| Comment by Haley Connelly [ 05/Jul/23 ] |
|
Marking as depends onĀ |