From bb6f218ecc187c3ad5496f0e7b6ba92c621b71d0 Mon Sep 17 00:00:00 2001 From: Benety Goh Date: Thu, 9 Feb 2023 14:35:34 -0500 Subject: SERVER-73847 RollbackTest accepts optional nodeOptions for ReplSetTest initialization --- jstests/replsets/libs/rollback_test.js | 16 +++++++++------- jstests/replsets/libs/rollback_test_deluxe.js | 12 +++++++----- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/jstests/replsets/libs/rollback_test.js b/jstests/replsets/libs/rollback_test.js index 5e70cd96614..8a19b15b51d 100644 --- a/jstests/replsets/libs/rollback_test.js +++ b/jstests/replsets/libs/rollback_test.js @@ -67,8 +67,10 @@ load('jstests/libs/fail_point_util.js'); * * @param {string} [optional] name the name of the test being run * @param {Object} [optional] replSet the ReplSetTest instance to adopt + * @param {Object} [optional] nodeOptions command-line options to apply to all nodes in the replica + * set. Ignored if 'replSet' is provided. */ -function RollbackTest(name = "RollbackTest", replSet) { +function RollbackTest(name = "RollbackTest", replSet, nodeOptions) { const State = { kStopped: "kStopped", kRollbackOps: "kRollbackOps", @@ -104,7 +106,7 @@ function RollbackTest(name = "RollbackTest", replSet) { let lastRBID; // Make sure we have a replica set up and running. - replSet = (replSet === undefined) ? performStandardSetup() : replSet; + replSet = (replSet === undefined) ? performStandardSetup(nodeOptions) : replSet; validateAndUseSetup(replSet); // Majority writes in the initial phase, before transitionToRollbackOperations(), should be @@ -204,12 +206,12 @@ function RollbackTest(name = "RollbackTest", replSet) { * * Note: One of the secondaries will have a priority of 0. */ - function performStandardSetup() { - let nodeOptions = {}; + function performStandardSetup(nodeOptions) { + nodeOptions = nodeOptions || {}; if (TestData.logComponentVerbosity) { - nodeOptions["setParameter"] = { - "logComponentVerbosity": tojsononeline(TestData.logComponentVerbosity) - }; + nodeOptions["setParameter"] = nodeOptions["setParameter"] || {}; + nodeOptions["setParameter"]["logComponentVerbosity"] = + tojsononeline(TestData.logComponentVerbosity); } if (TestData.syncdelay) { nodeOptions["syncdelay"] = TestData.syncdelay; diff --git a/jstests/replsets/libs/rollback_test_deluxe.js b/jstests/replsets/libs/rollback_test_deluxe.js index 858226ef662..6283d2b8e28 100644 --- a/jstests/replsets/libs/rollback_test_deluxe.js +++ b/jstests/replsets/libs/rollback_test_deluxe.js @@ -55,8 +55,10 @@ Random.setRandomSeed(); * * @param {string} [optional] name the name of the test being run * @param {Object} [optional] replSet the ReplSetTest instance to adopt + * @param {Object} [optional] nodeOptions command-line options to apply to all nodes in the replica + * set. Ignored if 'replSet' is provided. */ -function RollbackTestDeluxe(name = "FiveNodeDoubleRollbackTest", replSet) { +function RollbackTestDeluxe(name = "FiveNodeDoubleRollbackTest", replSet, nodeOptions) { const State = { kStopped: "kStopped", kRollbackOps: "kRollbackOps", @@ -96,7 +98,7 @@ function RollbackTestDeluxe(name = "FiveNodeDoubleRollbackTest", replSet) { let lastStandbySecondaryRBID; // Make sure we have a replica set up and running. - replSet = (replSet === undefined) ? performStandardSetup() : replSet; + replSet = (replSet === undefined) ? performStandardSetup(nodeOptions) : replSet; validateAndUseSetup(replSet); /** @@ -143,9 +145,9 @@ function RollbackTestDeluxe(name = "FiveNodeDoubleRollbackTest", replSet) { function performStandardSetup() { let nodeOptions = {}; if (TestData.logComponentVerbosity) { - nodeOptions["setParameter"] = { - "logComponentVerbosity": tojsononeline(TestData.logComponentVerbosity) - }; + nodeOptions["setParameter"] = nodeOptions["setParameter"] || {}; + nodeOptions["setParameter"]["logComponentVerbosity"] = + tojsononeline(TestData.logComponentVerbosity); } if (TestData.syncdelay) { nodeOptions["syncdelay"] = TestData.syncdelay; -- cgit v1.2.1