[SERVER-58859] isself_failure_initiate.js may have a race between "replSetInitiate" and the FCV updating process Created: 26/Jul/21  Updated: 29/Oct/23  Resolved: 30/Jul/21

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

Type: Bug Priority: Major - P3
Reporter: Vishnu Kaushik Assignee: Ali Mir
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-58353 Fix disabled Replication tests failin... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Repl 2021-08-09
Participants:

 Description   

Once we run replSetInitiate, the primary has to perform a quorum check and communicate with the secondary. In a mixed replica set, if the primary is started with the 5.1 binary while the other is started with 5.0, the primary sets its FCV to 5.1, then to "downgrading to 5.0", and then finally to 5.0.

While the primary is on 5.1, its wire version will be incompatible with the secondary's. We are having a race, which causes replSetInitiate to fail, since the wire versions are incompatible.

This failure may extend to isself_failure_restart.js and isself_failure_reconfig.js too.

Please see comments.



 Comments   
Comment by Vivian Ge (Inactive) [ 06/Oct/21 ]

Updating the fixversion since branching activities occurred yesterday. This ticket will be in rc0 when it’s been triggered. For more active release information, please keep an eye on #server-release. Thank you!

Comment by Githook User [ 30/Jul/21 ]

Author:

{'name': 'ali-mir', 'email': 'ali.mir@mongodb.com', 'username': 'ali-mir'}

Message: SERVER-58859 Add multiversion_incompatible tag to isself_failure_initiate.js
Branch: master
https://github.com/mongodb/mongo/commit/24bb1ecfcdc367034764fa4624ab7a1bf9a829c0

Comment by Ali Mir [ 29/Jul/21 ]

This test previously had a requires_fcv_47 tag on it (link). This tag prevented this test from running in multiversion suites for the 4.7->5.0 development cycle (and this test was added in September).

Now that we've removed the tag, this test started running in multiversion suites. As Lingzhi mentioned from SERVER-44347, we do not support initiating replica sets via runCommand. Instead, we require tests initiate via the replica set test fixture. This is because we actually set the FCV for the replica set in the initiate helper function, and that doesn't occur in the initiation via runCommand. This FCV is required to be set particularly in a mixed version set, as otherwise, different binaries cannot communicate due to incompatible wire versions. In a mixed version set, all the nodes will be in the same FCV.

I'll add the multiversion_incompatible tag to this test now.

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