Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-7674

reduce rollback-to-stable work for fast-truncate pages

    XMLWordPrintableJSON

Details

    • Icon: Technical Debt Technical Debt
    • Resolution: Fixed
    • Icon: Minor - P4 Minor - P4
    • 5.0.0, WT10.0.1, 4.4.8, 5.1.0-rc0
    • None
    • None
    • None

    Description

      Rollback-to-stable rolls back instantiated fast-truncate pages twice, once when processing the parent internal page and a second time when processing the child leaf page.

      I don't see a problem in the current code, but it's dangerous because rollback-to-stable uses the WT_PAGE_DELETED.durable_timestamp value to determine if rollback is needed. When a page is instantiated, the WT_PAGE_DELETED.durable_timestamp moves from the WT_PAGE_DELETED structure to the individual WT_UPDATE structures, so after instantiation rollback-to-stable is taking the value from the wrong source.

      Rollback-to-stable should only check WT_PAGE_DELETED.durable_timestamp for pages that have not yet been instantiated.

      Attachments

        Activity

          People

            keith.bostic@mongodb.com Keith Bostic (Inactive)
            keith.bostic@mongodb.com Keith Bostic (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: