Support prepare claim for fast truncate to reconstruct prepared transactions on restart

XMLWordPrintableJSON

    • 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

            Assignee:
            [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            Chenhao Qu
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: