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

Inserting multi-megabyte values can cause pathological lookaside usage

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • WT2.9.1, 3.2.12, 3.4.2, 3.5.1
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage 2016-12-12

      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.

            keith.bostic@mongodb.com Keith Bostic (Inactive)
            alexander.gorrod@mongodb.com Alexander Gorrod
            0 Vote for this issue
            4 Start watching this issue