Fix TSAN variant task factor overrides to use regex matching for all enterprise-rhel8-debug-tsan variants

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.0.0-rc0
    • Affects Version/s: 8.3.0-rc0
    • Component/s: None
    • None
    • Catalog and Routing
    • Fully Compatible
    • ALL
    • v8.3
    • CAR Team 2026-04-13
    • 200
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Problem

      In SERVER-121715 we reduced the resmoke_jobs_factor for TSAN variants to avoid OOM issues, but the fix in VARIANT_TASK_FACTOR_OVERRIDES was too restrictive — it only matched the exact variant names enterprise-rhel8-debug-tsan and enterprise-rhel8-debug-tsan-all-feature-flags.

      The full list of TSAN variants includes many more that are not covered:

      • enterprise-rhel8-debug-tsan-all-non-rollback-feature-flags
      • enterprise-rhel8-debug-tsan-compile
      • enterprise-rhel8-debug-tsan-roll-back-incremental-feature-flags
      • enterprise-rhel8-streams-tsan
      • linux-arm64-tsan-essential-required

      As a result, these variants still run out of memory on memory-intensive sharding suites.

      Proposed Solution

      1. Update get_task_factor to iterate over all override keys and use re.fullmatch for variant matching, so regex patterns can be used as dictionary keys in VARIANT_TASK_FACTOR_OVERRIDES.
      2. Add a new r"enterprise-rhel8-debug-tsan.*" regex entry in VARIANT_TASK_FACTOR_OVERRIDES and move the shared task factor overrides (sharding_kill_stepdown_terminate_jscore_passthrough, sharding_stepdown_fcv_upgrade_downgrade_jscore_passthrough, sharding_jscore_passthrough_priority_ports) into it so they apply to all matching TSAN variants.

            Assignee:
            Tommaso Tocci
            Reporter:
            Tommaso Tocci
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: