-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Test Model
-
None
-
Storage Engines - Foundations
-
2,508.123
-
SE Foundations - 2026-07-21
-
8
Test Model Switch Mode Series
This ticket is part 5 of 5 in one staged body of work. The series adds generated single-node leader/follower switch-mode testing to test/model.
Delivery Order
- WT-18867 - Follower workloads
- WT-18868 - Single step-up
- WT-18869 - Synchronous step-down
- WT-18870 - Random role cycles
- WT-17938 - Asynchronous step-down (this ticket)
Summary
Extend test/model so generated disaggregated role cycles can use the format-style asynchronous step-down protocol.
Motivation
Asynchronous step-down is the final stage of single-node role-switch testing. It verifies straddler rollback, post-boundary writes, checkpoint boundaries, timestamp rules, and final data correctness against the model.
Scope
- Add a set_step_down_timestamp workload operation to the model, parser, serializer, and WiredTiger runner.
- Let the generator randomly select a synchronous or asynchronous leader-to-follower transition in each role cycle.
- Select a valid boundary timestamp and leave selected write transactions open when the boundary is set.
- Verify that straddling write transactions receive WT_ROLLBACK.
- Generate leader writes with timestamps above the boundary before completing the transition.
- Set stable to exactly the boundary, take the step-down checkpoint, and reconfigure to follower in the required order.
- Continue generated read and write operations in follower mode.
- Enforce the step-down timestamp and commit timestamp rules in workload validation.
- Exclude prepared transactions that span the transition until WiredTiger supports them.
- Add fixed regression workloads before enabling randomized asynchronous step-down cycles.
Evergreen Coverage
All five tickets extend one Evergreen task named model-test-switch. This follows existing model task names such as model-test-long and model-test-long-disagg.
Definition of Done
- Fixed asynchronous step-down workloads pass against the model and WiredTiger.
- The generator produces valid randomized role cycles with synchronous and asynchronous step-down transitions.
- Straddler and timestamp error codes match between the model and WiredTiger.
- Final durable table contents match between the model and WiredTiger.
- The asynchronous step-down workloads run in model-test-switch.
- depends on
-
WT-18870 Test Model Switch Mode (4/5): Random role cycles
-
- Needs Scheduling
-
- is related to
-
WT-18867 Test Model Switch Mode (1/5): Follower workloads
-
- Needs Scheduling
-
-
WT-18869 Test Model Switch Mode (3/5): Synchronous step-down
-
- Needs Scheduling
-
- related to
-
WT-17897 Async Stepdown Test Coverage: test/python
-
- Closed
-
-
WT-18867 Test Model Switch Mode (1/5): Follower workloads
-
- Needs Scheduling
-
-
WT-18868 Test Model Switch Mode (2/5): Single step-up
-
- Needs Scheduling
-
-
WT-18869 Test Model Switch Mode (3/5): Synchronous step-down
-
- Needs Scheduling
-