-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: Schema Management, Test Python
-
Storage Engines, Storage Engines - Persistence
-
0.001
-
None
-
None
Add a test to ensure we cannot drop a table with stable but uncheckpointed data.
We depend on this behavior for correctness in allowing the schema epoch API to defer table drop to a later checkpoint:
- If all data in the table is checkpointed, we can leave the existing table entry in the checkpoint alone and defer the drop to a later stage.
- If we have uncheckpointed data at the time we drop the table, any checkpoint past which we defer the drop might need to include changes to the table based on the stable timestamp, which is not possible.
For example, consider the following scenario:
- Create table A @ epoch 100
- Write data to A @ timestamp 5000
- Set stable timestamp to 5000
- Drop table A @ epoch 200
- Set stable epoch to 175
- Checkpoint
This would be a big problem, because the application is requesting a checkpoint with table A with data as of timestamp 5000. But we cannot satisfy this request, because we don't have any preexisting checkpoint records for the table for this timestamp, and we cannot generate a new one because the table no longer exists.
- related to
-
WT-18405 Do not drop a table on the follower with uncheckpointed data
-
- In Code Review
-