PT: Handle a prepared truncate straddling the async step-down boundary

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Engines - Transactions
    • 395.838
    • None
    • None

      WT-18422 resolves a prepared transaction straddling the step-down boundary (prepared before step_down_timestamp is set, resolving after it) by duplicating the still-prepared update onto the ingest constituent before resolution, in __txn_stepdown_duplicate_to_ingest (src/txn/txn.c).

      That function only handles row-store basic/inmem ops (WT_TXN_OP_BASIC_ROW / WT_TXN_OP_INMEM_ROW). A prepared truncate op (WT_TXN_OP_TRUNCATE_ROW, WT_TXN_OP_TRUNCATE_COL, or WT_TXN_OP_REF_DELETE) straddling the same boundary is not relocated by this path and needs its own handling – a diagnostic assert in that function currently catches the case rather than silently leaving it unresolved on stable.

      Scope: design and implement the equivalent relocation (or another resolution strategy) for a prepared truncate straddling the step-down boundary.

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

              Created:
              Updated: