-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Test Python
-
None
-
Storage Engines, Storage Engines - Foundations
-
SE Foundations - 2025-08-29
-
5
Since we figured out that is not straightforward how could we write a regression test for WT-15158 it was decided to merge a quick fix first separately. That ticket scope is to create a regression test that would reproduce the same problem if we rollback the fix.
Currently the preliminary idea of test is:
- Create two tables: A and B
- Create a follower
- Put some data on the leader to A
- Checkpoint #1
- Pickup the checkpoint #1 on the follower
- Open a cursor on the follower for A
- The idea is that it should make the checkpoint #1 being marked as "inuse" for follower and avoid deleting it from ckpt_track structure
- Put more data on the leader to A
- Checkpoint #2
- Pickup the checkpoint #2 on the follower
- Open a cursor on the follower for B
- The idea is that before the fix it should assign `prune_timestamp` to Checkpoint #2 while the Checkpoint #1 is still in use.
- Put more data on the leader to B
- Checkpoint #3
- Pickup the checkpoint #3 on the follower
- The idea is that according to the current logic it should try to assign timestamp from the checkpoint #1 since it's still in use on the follower to the prune_timestamp for B which is set to the timestamp for the checkpoint #2 already.
The problem is that currently the 6th step doesn't cause the table to be marked as "inuse" or even "found" for later pickups.