Implement disagg multi-mode for test/model

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Test Model
    • None
    • Storage Engines, Storage Engines - Foundations
    • SE Foundations - Q3+ Backlog
    • 5

      test/model currently runs only in the leader mode in disagg. We should implement a multi-mode version of the test, so that we can test features such as stepping up, picking up checkpoints, and the like.

      This test would fill in an important gap in our system-level disagg testing: A system-level test with strict verification and deterministic replay, which closely models a two-node cluster (with a leader and a follower) in our intended use case.

       

      Proposed approach

      We could do this by extending the test so that it would open two WiredTiger connections, one in the leader mode, and one in the follower mode. The follower would run the same sequence of operations as the leader. We would then introduce the following two operations:

      • Picking up a checkpoint, which only the follower would execute. The leader would ignore this operation.
      • Swapping roles between the two nodes. Until we implement graceful step-down, we could implement this by restarting the leader node.

      This would also require us to change the semantics of verification on the follower, because the current implementation restarts the node before verifying it. This would be a problem when verifying the follower, because we would lose the contents of the ingest tables – and that would be in fact valuable to verify.

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

              Created:
              Updated: