[SERVER-31413] Create test suite that runs the rollbackViaRefetchNoUUID algorithm Created: 05/Oct/17  Updated: 30/Oct/23  Resolved: 18/Oct/17

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 3.6.0-rc1

Type: Task Priority: Major - P3
Reporter: William Schultz (Inactive) Assignee: Backlog - Replication Team
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Replication
Backwards Compatibility: Fully Compatible
Participants:

 Description   

In 3.6, we kept around the old 3.4 rollback algorithm, which can be optionally used by setting the rollbackMethod server parameter to rollbackViaRefetchNoUUID We did not make any improvements to this algorithm and so don't expect it to be any better or worse than 3.4 To maintain some basic coverage for it, however, we can create a replica sets test suite that runs with this old rollback algorithm, and create a sub-directory in jstests/replsets with tests whitelisted to run on this test suite. To make this simple, we can just copy any existing rollback tests that will be superseded by new 3.6 rollback tests into this directory and run those on the old algorithm. These should be the tests that exercise specific operations and operation sequences. We can leave tests that exercise general rollback machinery to be run on both the new and old rollback algorithm. For example double_rollback.js.

The tests to be run only on the old algorithm can be likely be as follows:
rollback.js
rollback2.js
rollback3.js
rollback_cmd_unrollbackable.js
rollback_collMod_fatal.js
rollback_collMod_PowerOf2Sizes.js
rollback_index.js

We will have 3.6 tests that supersede these rollback tests, so it is fine to let them run only on the old algorithm. As part of this ticket we can also get rid of the Rollback 3.4 evergreen variant. It doesn't seem necessary, and it is running a lot of test suites unrelated to rollback, which seems wasteful.



 Comments   
Comment by Githook User [ 18/Oct/17 ]

Author:

{'email': 'william.schultz@mongodb.com', 'name': 'William Schultz', 'username': 'will62794'}

Message: SERVER-31413 Clean up and remove old or obsolete rollback tests
Branch: master
https://github.com/mongodb/mongo/commit/8b6938d514438c332a975ad6b640762e3a3323de

Comment by Githook User [ 18/Oct/17 ]

Author:

{'email': 'william.schultz@mongodb.com', 'name': 'William Schultz', 'username': 'will62794'}

Message: SERVER-31413 Clean up structure of rollbackViaRefetchNoUUID test suite
Branch: master
https://github.com/mongodb/mongo/commit/599104d062bb96866babe4cafe39f2efae85c983

Comment by Githook User [ 17/Oct/17 ]

Author:

{'email': 'william.schultz@mongodb.com', 'name': 'William Schultz', 'username': 'will62794'}

Message: SERVER-31413 Add test suite that runs the rollbackViaRefetchNoUUID algorithm
Branch: master
https://github.com/mongodb/mongo/commit/ace70199e883ef5e3ae42eea3f2d64b0854e88ce

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