ExportXMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • DB Integration & Observability
    • Fully Compatible
    • ALL
    • 0
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Overview

      All jstestfuzz-driven tasks fail immediately in the mongodb-main-staging-poc Evergreen project (a branch closely tracking master). This is not a real test failure — the fuzzer never runs, because jstestfuzz rejects the branch name before generating any tests.

      Root cause

      The Evergreen built-in expansion branch_name is passed straight through to jstestfuzz as its --branch argument, in two places:

      • evergreen/jstestfuzz_run.sh (final line): ./src/scripts/npm_run.sh ${npm_command} -- ... --branch ${branch_name}
      • etc/evergreen_yml_components/definitions.yml:1677: --//bazel/resmoke:jstestfuzz_branch=${branch_name}

      jstestfuzz validates that value (it selects which server features the generated tests may use) and rejects anything that is not master or a v. version branch:

      Error: Branch version main\-staging\-poc does not match the required format. Please enter a branch in the format 'v4.2' or enter 'master'.
      

      Because the project's branch is main-staging-poc, every fuzzer task aborts at the "generate tests" step. Both the shell path (jstestfuzz_run.sh) and the Bazel path (_jstestfuzz_generate rule, jstestfuzz_branch flag) are affected.

      Impact

      525 of the 587 currently-untriaged BFGs in mongodb-main-staging-poc are this single failure (tracked by BF to be linked here). Affected task families include: jstestfuzz_*, aggregation__fuzzer, resharding_fuzzer, rollback_fuzzer, query_fuzzer_, update_fuzzer, move_collection_fuzzer, initial_sync_fuzzer, unshard_collection_fuzzer, change_stream_optimization_fuzzer, disagg___fuzzer, and any resmoke_tests task that generates fuzzer tests.

      Proposed fix

      Decouple the jstestfuzz target branch from the git branch:

      • Introduce an expansion (e.g. jstestfuzz_branch_name) that defaults to branch_name but can be overridden per project.
      • Use it at both call sites above instead of branch_name.
      • Set it to master for mongodb-main-staging-poc.

      Note the Bazel flag //bazel/resmoke:jstestfuzz_branch already defaults to master, so for master-tracking projects the override simply restores the default.

      Testing

      Run a jstestfuzz task (e.g. jstestfuzz_sharded) as a patch on mongodb-main-staging-poc and confirm the test-generation step succeeds.

            Assignee:
            Charlie Swanson
            Reporter:
            Charlie Swanson
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: