Add a reusable bounded wait_for_checkpoint_start test helper

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • WT12.0.0, 9.0.0-rc0
    • Affects Version/s: None
    • Component/s: Test Python
    • None
    • Storage Engines, Storage Engines - Persistence
    • 0.001
    • SE Persistence backlog
    • None

      Motivation

      The wait_for_checkpoint_start() method — an unbounded while True poll on the checkpoint_state statistic — is copy-pasted byte-for-byte across several tests: test_layered_checkpoint05, test_layered_checkpoint06, test_layered_checkpoint08 and test_layered_schema08. WT-17719 bounded the copy in test_layered_checkpoint08, but the other copies remain unbounded and carry the same risk of hanging to a task-level timeout instead of failing fast. Many other tests (test_checkpoint_, test_rollback_to_stable_) also poll checkpoint_state inline.

      Approach
      * Add a reusable, bounded wait_for_checkpoint_start(self, timeout=60) helper that asserts with a clear message on timeout. Because checkpoint-state waiting is not disaggregated-specific, put it on WiredTigerTestCase in test/suite/helpers/wttest.py so every test can use it without an import.
      * Migrate the duplicated copies to the shared helper.

      Definition of done
      * Shared bounded wait_for_checkpoint_start helper added.
      * The duplicated copies in the layered tests migrated to it.
      * Tests still pass on the happy path.

      Follow-up to WT-17719 (see also WT-17700).

            Assignee:
            Etienne Petrel
            Reporter:
            Etienne Petrel
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: