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

Handle the case where 4 billion updates are made to a page without eviction

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.2.1, WT3.2.1, 4.3.1, 4.0.13, 3.6.15, 3.4.24
    • Component/s: None
    • Labels:
      None
    • Story Points:
      3
    • Sprint:
      Storage Engines 2019-07-29, Storage Engines 2019-08-12
    • Backport Requested:
      v4.2, v4.0, v3.6, v3.4

      Description

      We have code that maintains a write generation on each page. Every time an update is added to a page the write generation is incremented. When the page is marked clean by reconciliation the write generation is reset to 0.

      It is possible to construct a workload where checkpoints don't mark the page clean (there is always an update in front of the checkpoint), and the page is never evicted from cache either (never split). A case where this might be the case is a single document is being updated very regularly.

      We should fix the write generation code to be resilient to the write generation wrapping, or implement a clean/dirty tracking mechanism that isn't susceptible to wrapping.

        Attachments

          Activity

            People

            Assignee:
            alex.cameron Alex Cameron
            Reporter:
            alexander.gorrod Alexander Gorrod
            Votes:
            0 Vote for this issue
            Watchers:
            23 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: