[SERVER-56590] Oplog truncation should correctly handle identical stones Created: 03/May/21  Updated: 29/Oct/23  Resolved: 11/May/21

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

Type: Bug Priority: Major - P3
Reporter: Louis Williams Assignee: Louis Williams
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-54301 Add correctness tests of recovery usi... Closed
Problem/Incident
is caused by SERVER-51158 Must not truncate entire oplog before... Closed
Related
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Execution Team 2021-05-17
Participants:
Linked BF Score: 146

 Description   

During startup, we randomly sample records in the oplog to generate oplog stones. It is possible to sample multiple identical records as oplog stone candidates during startup.

This would normally be pretty hard, but if the size storer is very inaccurate, this may cause us to sample more records than necessary, increasing the probability of sampling the same record multiple times.

If two identical oplog stones do exist, an oplog record may be truncated in one iteration. In a subsequent iteration, the server may crash when it discovers that the last record in a stone ending in the same record does not exist.



 Comments   
Comment by Githook User [ 11/May/21 ]

Author:

{'name': 'Louis Williams', 'email': 'louis.williams@mongodb.com', 'username': 'louiswilliams'}

Message: SERVER-56590 Oplog truncation should correctly handle overlapping stones
Branch: master
https://github.com/mongodb/mongo/commit/25aed16c97b02f7234e20f2284803f99a5fd9571

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