diff options
author | Samy Lanka <samy.lanka@mongodb.com> | 2023-04-07 19:32:51 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2023-04-07 21:22:20 +0000 |
commit | c1ee4c083d7660a5eac103319ad2960ccd5dbf5f (patch) | |
tree | 4982ea441a1bddbfbff82781cf1b52698dda2541 /jstests/replsets | |
parent | 9d3d599dd1654b17edb19ef48ad1eb081a4ce831 (diff) | |
download | mongo-c1ee4c083d7660a5eac103319ad2960ccd5dbf5f.tar.gz |
SERVER-67180 Pause startup_recovery_for_restore_needs_rollback.js before expected error
Diffstat (limited to 'jstests/replsets')
-rw-r--r-- | jstests/replsets/startup_recovery_for_restore_needs_rollback.js | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/jstests/replsets/startup_recovery_for_restore_needs_rollback.js b/jstests/replsets/startup_recovery_for_restore_needs_rollback.js index d6c65e67e04..cd44fe575ea 100644 --- a/jstests/replsets/startup_recovery_for_restore_needs_rollback.js +++ b/jstests/replsets/startup_recovery_for_restore_needs_rollback.js @@ -124,7 +124,26 @@ assert.docEq({_id: lastId, paddingStr: paddingStr}, clearRawMongoProgramOutput(); jsTestLog("Restarting restore node again, in repl set mode"); -restoreNode = rst.restart(restoreNode, {noReplSet: false, setParameter: startParams}); +restoreNode = rst.restart(restoreNode, { + noReplSet: false, + setParameter: Object.merge(startParams, { + 'failpoint.hangBeforeUnrecoverableRollbackError': tojson({mode: 'alwaysOn'}), + + }) +}); + +// We need to wait until the node has done enough initialization before waiting on the failpoint. +rst.waitForState(restoreNode, ReplSetTest.State.ROLLBACK); + +assert.commandWorked(restoreNode.adminCommand({ + waitForFailPoint: 'hangBeforeUnrecoverableRollbackError', + timesEntered: 1, + maxTimeMS: kDefaultWaitForFailPointTimeout +})); +clearRawMongoProgramOutput(); + +assert.commandWorked(restoreNode.adminCommand( + {'configureFailPoint': 'hangBeforeUnrecoverableRollbackError', 'mode': 'off'})); // This node should not come back up, because it has no stable timestamp to recover to. assert.soon(() => (rawMongoProgramOutput().search("UnrecoverableRollbackError") >= 0)); |