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

Change the dhandle lock to a read/write lock

    • Type: Icon: Improvement Improvement
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • WT2.9.2, 3.2.13, 3.4.3, 3.5.4
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage 2017-02-13

      WiredTiger currently has a lock that is used to protect access to the connection wide (globally shared) dhandle list. That lock is currently a spinlock, since operations that hold it are generally short lived. The assumption about short-lived lockers doesn't hold entirely true when the number of open dhandles grows very large.

      It would be beneficial to switch the lock from a spinlock to a read/write lock, since most code paths only need to protect against the list changing while they are accessing it.

            alexander.gorrod@mongodb.com Alexander Gorrod
            alexander.gorrod@mongodb.com Alexander Gorrod
            0 Vote for this issue
            4 Start watching this issue