[SERVER-28204] Recoverable Rollback: Add server parameter to select between 3.4 and 3.6 rollback implementations Created: 06/Mar/17  Updated: 23/Oct/20  Resolved: 23/Mar/17

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

Type: Task Priority: Major - P3
Reporter: Benety Goh Assignee: Benety Goh
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-51819 Remove joinAsync from AbstractAsyncCo... Closed
is related to SERVER-24049 allow choosing of old or new initial ... Closed
is related to SERVER-24293 Add evergreen variant that runs tests... Closed
Backwards Compatibility: Fully Compatible
Sprint: Repl 2017-03-06, Repl 2017-03-27
Participants:

 Description   

The 3.6 server will support two rollback implementations

  • A new implementation that is reliant on 3.6-only features to make rollback run more efficiently;
  • The existing implementation carried forward from 3.4 that will be used as a fallback in the case where the new rollback algorithm is unable to revert operations in the oplog generated by a 3.4 server.

To support both implementations, a server parameter will be introduced to support the fallback behavior and to facilitate regression testing.



 Comments   
Comment by Githook User [ 23/Mar/17 ]

Author:

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

Message: SERVER-28204 added build variant for Rollback 3.4 Enterprise RHEL 6.2
Branch: master
https://github.com/mongodb/mongo/commit/4cefb2925ab1fcb951777c25d80cd2df0b9f544e

Comment by Githook User [ 23/Mar/17 ]

Author:

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

Message: SERVER-28204 added server parameter to select between 3.4 and 3.6 rollback implementations

This server parameter is set to use the 3.6 implementation as the default.
Branch: master
https://github.com/mongodb/mongo/commit/35a6f1920bf38d7b7df6962598e56fa456451152

Comment by Githook User [ 23/Mar/17 ]

Author:

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

Message: SERVER-28204 added Rollback interface and 3.6 implementation

This is a stub implementation of the new 3.6 rollback algorithm.
Branch: master
https://github.com/mongodb/mongo/commit/42d945d2446e0ca0aef570ec090e4d93ede00618

Comment by Githook User [ 23/Mar/17 ]

Author:

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

Message: SERVER-28204 added RollbackTest fixture
Branch: master
https://github.com/mongodb/mongo/commit/c1964e817459a575a64609229a473d57d08aa4d0

Comment by Githook User [ 20/Mar/17 ]

Author:

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

Message: SERVER-28204 migrate OplogFetcher to use AbstractAsyncComponent
Branch: master
https://github.com/mongodb/mongo/commit/1f607d93a8554442572337e02a85d8ec3df74b42

Comment by Githook User [ 20/Mar/17 ]

Author:

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

Message: SERVER-28204 added AbstractAsyncComponent

This defines the life cycle for task executor based async components in replication.
Branch: master
https://github.com/mongodb/mongo/commit/4af23eb406571c1559ac4022c1c2fc27f00ae93f

Comment by Githook User [ 20/Mar/17 ]

Author:

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

Message: SERVER-28204 moved TaskExecutorMock out of initial_syncer_test.cpp into its own library
Branch: master
https://github.com/mongodb/mongo/commit/46dc518b4531b21a60675f7b9b1a9e82a50bbc0c

Comment by Benety Goh [ 08/Mar/17 ]

Proposed name for server parameter: use3dot4Rollback
See SERVER-24293 for naming convention used to select initial sync implementation between 3.2 and 3.4.

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