diff options
author | Vesselina Ratcheva <vesselina.ratcheva@10gen.com> | 2021-10-21 18:10:39 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-11-19 19:57:14 +0000 |
commit | 37d4012eddb1722d0eaa4e78369e50376bb310c8 (patch) | |
tree | 96542d57ad6e6403f92db017cf3a60fb54c754f2 | |
parent | 3f88eb48b80bbd3babe6431f030a128c3ff824d2 (diff) | |
download | mongo-37d4012eddb1722d0eaa4e78369e50376bb310c8.tar.gz |
SERVER-60729 Explicitly step up first node in initiate_takes_stable_checkpoint.js
(cherry picked from commit 065c37d4162355caadddf32d49360ee417b6fa86)
-rw-r--r-- | jstests/replsets/initiate_takes_stable_checkpoint.js | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/jstests/replsets/initiate_takes_stable_checkpoint.js b/jstests/replsets/initiate_takes_stable_checkpoint.js index d916dc42ca0..27c575aa520 100644 --- a/jstests/replsets/initiate_takes_stable_checkpoint.js +++ b/jstests/replsets/initiate_takes_stable_checkpoint.js @@ -27,11 +27,9 @@ const rst = ReplSetTest({ rsConfig: {priority: 2}, }, { - setParameter: {"failpoint.stopReplProducer": tojson({mode: "alwaysOn"})}, rsConfig: {priority: 1}, }, { - setParameter: {"failpoint.stopReplProducer": tojson({mode: "alwaysOn"})}, rsConfig: {priority: 0}, }, ], @@ -54,20 +52,27 @@ const node2 = rst.nodes[2]; const dbName = "testdb"; const collName = "testcoll"; +// Make the first node the primary. +rst.stepUp(node0, {awaitReplicationBeforeStepUp: false}); + const oldPrimary = rst.getPrimary(); assert.eq(node0, oldPrimary); rst.awaitSecondaryNodes(); rst.awaitNodesAgreeOnConfigVersion(); +rst.awaitReplication(); const oldPrimaryDB = oldPrimary.getDB(dbName); const oldPrimaryColl = oldPrimaryDB.getCollection(collName); +jsTestLog("Stopping replication"); +stopServerReplication(node1); +stopServerReplication(node2); + jsTestLog("Writing to old primary"); assert.commandWorked(oldPrimaryColl.insert({"old1": 1}, {writeConcern: {w: 1}})); assert.commandWorked(oldPrimaryColl.insert({"old2": 2}, {writeConcern: {w: 1}})); jsTestLog("Disconnecting old primary"); - node0.disconnect(node1); node0.disconnect(node2); assert.commandWorked(oldPrimary.adminCommand({replSetStepDown: 10 * 60, force: true})); @@ -78,21 +83,16 @@ jsTestLog("Electing new primary"); restartServerReplication(node1); restartServerReplication(node2); -assert.soonNoExcept(function() { - assert.commandWorked(node1.adminCommand({replSetStepUp: 1})); - return true; -}, "stepping up node1", ReplSetTest.kDefaultTimeoutMS); - const newPrimary = rst.getPrimary(); -assert.eq(node1, newPrimary); +const lastNode = (newPrimary.host === node1.host) ? node2 : node1; -jsTestLog("Writing to new primary"); +jsTestLog("Writing to new primary " + newPrimary.host); const newPrimaryDB = newPrimary.getDB(dbName); const newPrimaryColl = newPrimaryDB.getCollection(collName); -assert.commandWorked(newPrimaryColl.insert({"new1": 1})); -assert.commandWorked(newPrimaryColl.insert({"new2": 2})); -rst.awaitReplication(undefined /* timeout */, undefined /*secondaryOpTimeType */, [node2]); -rst.awaitLastOpCommitted(undefined /* timeout */, [node2]); +assert.commandWorked(newPrimaryColl.insert({"new1": 1}, {writeConcern: {w: 1}})); +assert.commandWorked(newPrimaryColl.insert({"new2": 2}, {writeConcern: {w: 1}})); +rst.awaitReplication(undefined /* timeout */, undefined /* secondaryOpTimeType */, [lastNode]); +rst.awaitLastOpCommitted(undefined /* timeout */, [lastNode]); jsTestLog("Reconnecting old primary"); const lastRBID = assert.commandWorked(node0.adminCommand("replSetGetRBID")).rbid; |