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

LSM should not hold the handle list lock to discard trees from cache

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Storage 2017-05-08, Storage 2017-05-29

      In WT-2990, we found and fixed a race between LSM and sweep by having LSM hold the handle list lock when discarding handles. That was re-introduced by WT-3196 because there is no comment explaining why LSM is acquiring the handle list lock here.

      This is not a good solution:

      • the handle list lock is only intended to protect the list of data handles; and
      • LSM performance will suffer because we're preventing any operation that needs to access the handle list while discarding trees (a frequent and potentially slow operation).

      Address the race some other way so that LSM doesn't need to hold the handle list lock.

            Assignee:
            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            michael.cahill@mongodb.com Michael Cahill (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: