ExportXMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Engines - Persistence
    • 218.788
    • None
    • None

      test/format runs disaggregated workloads but never publishes a materialization frontier, so last_materialized_lsn stays unset and every frontier-gated decision in the engine short-circuits to "allowed". Eviction refusals, cache-discard refusals, page-retention rules, and the read-ahead-of-frontier checks are all unreachable under our only randomized stress workload.

      The gap is not theoretical. WT-18622 was a data-handle close that recorded a refused cache discard but continued on to mark the handle closed; sweep then destroyed the tree with its pages still in cache. Reaching it needs a leader, a frontier that is behind, a handle marked dead, and a sweep pass – a combination no WiredTiger test produces. It surfaced from MongoDB, not from our CI.

      Add frontier support to test/format, with a configurable lag so the published frontier trails the workload's real LSN by a random, controllable amount. The lag is what matters: a frontier that always tracks the latest write reproduces today's behaviour and tests nothing.

      Outcome

      • format can run with the frontier lagging, and the lag is part of the randomized configuration space.
      • Workloads that combine a lagging frontier with checkpoints, drops, eviction, and sweep run clean, in normal and diagnostic builds.
      • A failure like WT-18622 is reproducible from a format CONFIG rather than only from a MongoDB workload.

            Assignee:
            [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            Ivan Kochin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: