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

Inserting multi-megabyte values can cause pathological lookaside usage

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.2.12, WT2.9.1, 3.5.1, 3.4.2
    • Labels:
      None
    • Sprint:
      Storage 2016-12-12

      Description

      Constructing a workload that:

      • Inserts 16MB values from 10 threads in parallel
      • Configures a memory_page_max of 5MB
      • Does not do checkpoints
      • Does not use explicit transactions

      Can lead to doing reconciliation that triggers the lookaside conditions, and since lookaside file is exempt from normal eviction individual pages can grow to over 1GB. I believe there are two problems here:

      • Lookaside should not be triggered at all, the workload is flooding the I/O capacity of the drive. Forcing writes to go into the lookaside file as well as the data file is only going to increase the workload.
      • We should not allow the lookaside to create arbitrarily large in-memory pages.

      Resolving the first issue will hide the second, but I think we should fix both.

        Attachments

          Activity

            People

            • Assignee:
              keith.bostic Keith Bostic
              Reporter:
              alexander.gorrod Alexander Gorrod
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: