[SERVER-27659] persist Rollback ID and read it at startup Created: 12/Jan/17  Updated: 16/Dec/19  Resolved: 29/Apr/17

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 3.5.7

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

Issue Links:
Related
related to SERVER-45178 Rollback via refetch can cause rollba... Closed
related to SERVER-32776 Refresh rollback id cache on increment Closed
is related to SERVER-28988 add ReplicationProcess and use it to ... Closed
Backwards Compatibility: Fully Compatible
Sprint: Repl 2017-05-08
Participants:
Linked BF Score: 0

 Description   

Currently we randomize rollback IDs at startup to reduce the chance of collisions. This does not prevent collisions entirely and makes it so rollback IDs that are randomly chosen very close to MaxInt could rollover into the negatives which is somewhat undefined behavior. We should simply persist the rollback ID (waiting for it to be durable) and read it at startup like lastVote to avoid these issues.



 Comments   
Comment by Githook User [ 03/May/17 ]

Author:

{u'username': u'benety', u'name': u'Benety Goh', u'email': u'benety@mongodb.com'}

Message: SERVER-27659 ReplicationCoordinatorImpl::prepareReplMetadata() should not fetch rollback ID if it is not needed
Branch: master
https://github.com/mongodb/mongo/commit/f7942df347d738d1cbf1c0be527debbafea8dc17

Comment by Githook User [ 29/Apr/17 ]

Author:

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

Message: SERVER-27659 Persist Rollback Id
Branch: master
https://github.com/mongodb/mongo/commit/7358c66cbf77203fa0803417a4442e35f11bf3f7

Comment by Githook User [ 28/Apr/17 ]

Author:

{u'username': u'adamlsd', u'name': u'ADAM David Alan Martin', u'email': u'adam.martin@10gen.com'}

Message: Revert "SERVER-27659 Persist Rollback Id"

This reverts commit ac6f185017f76cc7124373e97a2c55291d5c8956.
Branch: master
https://github.com/mongodb/mongo/commit/b1054a04df0182fa6e4ccef53eefff90616aeea3

Comment by Githook User [ 21/Apr/17 ]

Author:

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

Message: SERVER-27659 Persist Rollback Id
Branch: master
https://github.com/mongodb/mongo/commit/ac6f185017f76cc7124373e97a2c55291d5c8956

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