Truncates do not update the unpublished durable minimum of a layered table

    • Storage Engines - Foundations
    • 41.46
    • None
    • 3

      btree->min_unpublished_durable_ts is maintained only for basic operations at transaction commit; WT_TXN_OP_TRUNCATE_ROW/COL and WT_TXN_OP_REF_DELETE skip the hook, as does the step-up drain's truncate replay (__layered_apply_truncate_to_stable).

      Consequence: a stable constituent awaiting publication whose only unpublished content is truncate tombstones — e.g. a reused constituent carrying prior-era rows plus follower truncates replayed at step-up — passes the unpublished-data drop guard and is discarded on close, losing tombstones a checkpoint was obligated to persist.

      Found while fixing WT-18347, which added the hook for drained row updates only.

            Assignee:
            Jie Chen
            Reporter:
            Alex Blekhman
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: