version_burn_in_gen fails: compile_variant enterprise-amazon2023-linux-x86-debug-tsan is undefined

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Integration
    • ALL
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      1. [BUG] version_burn_in_gen fails: compile_variant enterprise-amazon2023-linux-x86-debug-tsan is undefined
        1. Summary

      `version_burn_in_gen` fails on patches that touch tests scheduled on the
      `enterprise-amazon2023-linux-x86-debug-tsan-all-feature-flags` variant, because that variant's
      `compile_variant` expansion references `enterprise-amazon2023-linux-x86-debug-tsan` — a variant
      that does not exist anywhere in the Evergreen project config.

        1. Failure

      ```
      'generate.tasks' ('generate resmoke tasks config') in function 'generate version burn in' (step 12.9 of 12)
      error translating project: variant selector contains unmatched criteria
      enterprise-amazon2023-linux-x86-debug-tsan
      ```

        1. Repro

      Submit any patch that modifies JS test files that are included in one of the task selectors on the
      `enterprise-amazon2023-linux-x86-debug-tsan-all-feature-flags` variant (e.g. tests tagged
      `.development_critical`, `.release_critical`, `.default`, or `.mongot_e2e_tests`).
      `version_burn_in_gen` will attempt to generate burn-in tasks referencing the compile variant and
      fail.

      Example patch: SERVER-121972 (patch `6a1065de56430900070f17cf`) touches several
      `jstests/extensions/` and `jstests/sharding/` files, triggering the failure.

        1. Root Cause

      `etc/evergreen_yml_components/variants/sanitizer/test_dev.yml`, line 479:

      ```yaml

      • name: enterprise-amazon2023-linux-x86-debug-tsan-all-feature-flags
        ...
        expansions:
        compile_variant: enterprise-amazon2023-linux-x86-debug-tsan# <-- does not exist
        ```

      The variant `enterprise-amazon2023-linux-x86-debug-tsan` (without the `-all-feature-flags` suffix)
      is not defined in any Evergreen config file in the repo. It was likely removed or renamed (possibly
      as part of SERVER-122902, which migrated the TSAN variant to arm64) but the reference in
      `test_dev.yml` was not updated.

        1. Why It Doesn't Surface on Master

      On the master waterfall, `version_burn_in_gen` generates burn-in tasks for tests changed in each
      individual commit. Most commits on master don't touch tests scheduled on this variant, so the broken
      `compile_variant` reference is never exercised. Feature branch patches that modify many test files
      are more likely to trigger it.

        1. Fix

      Either:

      *Option A (preferred):* Define the missing `enterprise-amazon2023-linux-x86-debug-tsan` compile
      variant in the appropriate Evergreen config file (likely under
      `etc/evergreen_yml_components/variants/sanitizer/`), if the intent is to cross-compile for x86
      TSAN and run the test variant separately.

      *Option B:* Update `compile_variant` in `test_dev.yml:479` to point to an existing variant that
      produces the correct x86 TSAN binary (or remove the `compile_variant` override entirely if the
      variant should compile its own binary).

        1. Affected File

      `etc/evergreen_yml_components/variants/sanitizer/test_dev.yml` — line 469 (variant definition),
      line 479 (`compile_variant` expansion)

        1. Labels / Components
      • Component: Evergreen / CI Config
      • Type: Bug
      • Affects: version_burn_in_gen, patches touching extensions/sharding tests

            Assignee:
            Finley Lau
            Reporter:
            Finley Lau
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: