[SERVER-34895] Stable timestamp can be set to timestamp not in oplog Created: 08/May/18  Updated: 29/Oct/23  Resolved: 15/May/18

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 3.6.7, 4.0.0-rc0

Type: Bug Priority: Major - P3
Reporter: Judah Schvimer Assignee: Judah Schvimer
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Problem/Incident
causes SERVER-35113 Stable timestamp does not advance if ... Closed
Related
is related to SERVER-33743 Use all_committed to set lastApplied ... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v3.6
Sprint: Repl 2018-05-21
Participants:
Case:
Linked BF Score: 15

 Description   

We set the stable timestamp using the "candidates" list which is populated whenever we move "lastApplied" forward. On primaries, we set lastApplied to the "all committed timestamp", which is not necessarily a timestamp in the oplog. On primaries we need to actually add the operation commit time to the candidates list, rather than the "all committed timestamp".



 Comments   
Comment by Githook User [ 07/Aug/18 ]

Author:

{'username': 'judahschvimer', 'name': 'Judah Schvimer', 'email': 'judah@mongodb.com'}

Message: SERVER-34895 only set stable timestamp to timestamps in oplog

(cherry picked from commit 689d52131f6ac1a446fe1b93647b11d0329c629c)
Branch: v3.6
https://github.com/mongodb/mongo/commit/dc0ab3d7e2cdecd683dcff55251d25b9d959cf3f

Comment by Judah Schvimer [ 09/Jul/18 ]

This needs to be backported to 3.6 because the appliedThrough value in minValid is set based on the lastApplied optime and must be an optime actually in the oplog. SERVER-35113 should be backported with this to minimize the perf hit.

Comment by Githook User [ 15/May/18 ]

Author:

{'email': 'judah@mongodb.com', 'username': 'judahschvimer', 'name': 'Judah Schvimer'}

Message: SERVER-34895 only set stable timestamp to timestamps in oplog
Branch: master
https://github.com/mongodb/mongo/commit/689d52131f6ac1a446fe1b93647b11d0329c629c

Comment by Judah Schvimer [ 09/May/18 ]

Since we don't use the stable timestamp for rollback in 3.6, this does not need to be backported.

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