summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenety Goh <benety@mongodb.com>2023-02-09 14:35:34 -0500
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-02-09 22:37:22 +0000
commitbb6f218ecc187c3ad5496f0e7b6ba92c621b71d0 (patch)
treecc86d2e133130a94ebf2c37615a5b377b2a77584
parent387bd9df945ade25b5955223f04db1917782d728 (diff)
downloadmongo-bb6f218ecc187c3ad5496f0e7b6ba92c621b71d0.tar.gz
SERVER-73847 RollbackTest accepts optional nodeOptions for ReplSetTest initialization
-rw-r--r--jstests/replsets/libs/rollback_test.js16
-rw-r--r--jstests/replsets/libs/rollback_test_deluxe.js12
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;