-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Storage Engines - Transactions
-
310.415
-
None
-
None
Summary
Extend the prepare claim mechanism to cover fast truncate operations so that prepared transactions involving WT_PAGE_DELETED records can be correctly reconstructed after a restart. Prepare claimed works by scanning the database on startup to locate prepared updates and reclaim their transaction state — fast truncate must participate in this scan.
Motivation
After a restart with preserve_prepared enabled, WiredTiger scans the database to find prepared updates and reconstruct the in-memory prepared transaction state (prepare claimed). Fast truncate represents a prepared write at the page level via WT_PAGE_DELETED, but is not currently included in this scan. Without support for prepare claimed, prepared fast truncate records will be missed during recovery, leaving those transactions in an inconsistent state that cannot be committed or rolled back.
Acceptance Criteria
- The post-restart database scan that implements prepare claimed identifies WT_PAGE_DELETED records belonging to prepared transactions
- Prepared fast truncate state is correctly reconstructed into in-memory transaction context after restart
- The reconstructed prepared fast truncate can subsequently be committed or rolled back as expected
- Existing prepare recovery and prepare claimed tests pass with no regression
- related to
-
WT-17337 Allow claimed prepared transactions without a transaction id to survive step-up
-
- Closed
-