Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-88136

Fix arbiter_always_has_latest_fcv.js test to correctly test arbiter FCV behavior

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.0.0-rc0, 6.0.15, 7.0.9, 7.3.2
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Replication
    • Fully Compatible
    • ALL
    • v7.3, v7.0, v6.0
    • Repl 2024-04-01

      The test arbiter_always_has_latest_fcv.js is not correctly testing the behavior of arbiter FCV. It tries to set the binVersion to a lower value (which is a no-op, see comment below), and then check the FCV of the arbiter. Starting a cluster on an older binary version should cause the arbiter FCV to match the binary, not whatever kLatest is. We should actually be just modifying the FCV value via setFCV instead of modifying the binary version.

      In fact, the reason this test did not fail previously is because the `binVersion` option specified in the replica set test is invalid, as `nodeOpts` is not recognized by ReplSetTest. This should actually be `nodeOptions`, as shown by this example. As a result, this test was running the same test multiple times (checking the arbiter FCV of a cluster on latest binary and FCV). This is the only occurrence in the codebase where we use nodeOpts to try to set the binary version to a non-latest binary.

            ali.mir@mongodb.com Ali Mir
            ali.mir@mongodb.com Ali Mir
            0 Vote for this issue
            1 Start watching this issue