Skip disaggregated storage scenarios in the Python suite on the 9.0 branch

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Test Python
    • None
    • Storage Engines
    • 102.844
    • None
    • 2

      WT-18193 removed the disagg-specific Evergreen tasks from the 9.0 project (.unit_test_disagg, .stress-test-disagg, unit-test-hook-disagg-, model-test-long-disagg), but the ordinary unit-test task runs the entire Python suite with no unit_test_ignore list. The 179 test_layered_.py / test_disagg_.py files are still on the branch, so they continue to run in non-disagg-hooked configuration on every 9.0 variant.

      WT-18464 is a consequence: test_layered_stepup12 failed on wiredtiger-mongo-v9.0 with subprocess_race(palite.step_down.create) -> file:test_layered_stepup12_new.wt_stable stable table verification failed: No such file or directory. That is a create racing a step-down. Develop has three commits on that path that were never backported to 9.0 - WT-17880 (take the schema lock when stepping down), WT-17894, and WT-18132 - and the 9.0 copy of the test differs from develop by roughly 74 lines.

      Since disaggregated storage is not a supported feature on 9.0, the fix is to stop running its scenarios rather than backport a schema-lock ordering change into a release branch.

      Proposed change

      Skip disaggregated scenarios in DisaggConfigMixin.disagg_conn_extensions() in test/suite/helpers/helper_disagg.py, the single point every disagg scenario passes through to load the page log extension. Tests that also generate a non_disagg scenario keep that coverage, which matters for the ~20 dual-mode tests such as test_repair01, test_timestamp26, test_cursor_bound01 and test_cross_checkpoint_caching that are not disagg tests but use the mixin.

      Verification

      Release build with ENABLE_PYTHON on the 9.0 branch:

      • All 1375 tests across test_layered*, test_disagg*, test_key_provider_disagg*, test_leaf_delta_disagg*, test_verify_disagg* and test_prepare_discover*: 1367 skipped.
      • Mixed run confirms the split is scenario-level rather than class-level: test_repair01(non_disagg) and test_timestamp26 still execute and pass while their disagg siblings skip (88 ran, 32 skipped).
      • dist/s_python clean.

            Assignee:
            Luke Chen
            Reporter:
            Luke Chen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: