salvage in the face of missing overflow items.

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Done
    • WT2.4.0
    • Affects Version/s: None
    • Component/s: None
    • None
    • None

      The WiredTiger salvage code discards leaf pages in the case of pages that reference overflow items we don't have:

       * Discard any page referencing a non-existent overflow page.  We do
       * this before checking overlapping key ranges on the grounds that a
       * bad key range we can use is better than a terrific key range that
       * references pages we don't have.
       *
       * An alternative would be to discard only the on-page item referencing
       * the missing overflow item.  We're not doing that because: (1) absent
       * corruption, a missing overflow item is a strong argument the page was
       * replaced (but admittedly, corruption is probably why we're here); (2)
       * it's a lot of work, and as WiredTiger supports very large page sizes,
       * overflow items simply shouldn't be common.
       *
       * If an overflow page is referenced more than once, discard leaf pages
       * with the lowest LSNs until overflow pages are only referenced once.
      

      As noted in the comment, a better solution would be to split pages into multiple chunks, a chunk before and a chunk after the row that references the missing overflow item.

              Assignee:
              Unassigned
              Reporter:
              Keith Bostic (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: