Fix follower truncate write-conflict gap: search_near misses uncommitted ingest updates

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Truncate
    • None
    • Storage Engines - Foundations
    • 23.304
    • None
    • 8

      This is a spin-off of WT-17272, which described three correctness gaps in the follower's in-memory truncate-list write-conflict detection. That ticket was closed with items (2) and (3) resolved. Item (1) was explicitly dropped from the PR scope and is still TODO.

      Gap (1) — search_near ingest truncate misses uncommitted ingest updates

      The follower truncate path positions via search_near before calling _wt_range_truncate. Because search_near is a read operation, it does not trigger _wt_txn_update_check. As a result, write conflicts against uncommitted ingest updates that fall within the truncate range are silently missed — conflicting operations can commit when one should roll back.

      Proposed fix location: __wt_insert_truncate_entry — the conflict check needs to be invoked there so that truncate-range positioning via search_near is covered.

      See also: WT-17272, WT-16812

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

              Created:
              Updated: