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

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

    • Type: Icon: Technical Debt Technical Debt
    • Resolution: Fixed
    • Priority: Icon: Minor - P4 Minor - P4
    • 5.0.0, WT10.0.1, 4.4.8, 5.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None

      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.

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

              Created:
              Updated:
              Resolved: