summaryrefslogtreecommitdiff
path: root/jstests/multiVersion/genericSetFCVUsage/arbiter_always_has_latest_fcv.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/multiVersion/genericSetFCVUsage/arbiter_always_has_latest_fcv.js')
-rw-r--r--jstests/multiVersion/genericSetFCVUsage/arbiter_always_has_latest_fcv.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/jstests/multiVersion/genericSetFCVUsage/arbiter_always_has_latest_fcv.js b/jstests/multiVersion/genericSetFCVUsage/arbiter_always_has_latest_fcv.js
new file mode 100644
index 00000000000..0e4d2fde530
--- /dev/null
+++ b/jstests/multiVersion/genericSetFCVUsage/arbiter_always_has_latest_fcv.js
@@ -0,0 +1,25 @@
+/*
+ * Tests that an arbiter will default to the latest FCV regardless of the FCV of the replica set.
+ */
+(function() {
+"use strict";
+
+function runTest(FCV) {
+ let rst = new ReplSetTest(
+ {nodes: [{}, {rsConfig: {arbiterOnly: true}}], nodeOpts: {binVersion: FCV}});
+ rst.startSet();
+ rst.initiate();
+
+ const arbiter = rst.getArbiter();
+ const res = assert.commandWorked(
+ arbiter.getDB("admin").runCommand({getParameter: 1, featureCompatibilityVersion: 1}));
+ assert.eq(res.featureCompatibilityVersion.version, latestFCV, tojson(res));
+ rst.stopSet();
+}
+
+runTest(latestFCV);
+runTest(lastLTSFCV);
+if (lastContinuousFCV != lastLTSFCV) {
+ runTest(lastContinuousFCV);
+}
+}());