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

Remove write lock from commit path, leaving old entries in queue

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.6.3, 3.7.2, WT3.1.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Storage 2018-01-29, Storage 2018-02-12
    • v3.6

      In investigating SERVER-31694, I've seen a number of pmp stacks that indicate that the rwlocks protecting the timestamp queues can be a source of contention. Every transaction must take the mutex for writing twice, once when setting a timestamp on a transaction to insert it into the queue and once on commit/rollback to remove the txn from the queue.

      Consider ways to reduce the times a user thread needs to hold that lock. Perhaps on commit/rollback the user thread clears or sets flags and an internal worker thread walks the list and removes transactions from the list so that a commit does not need to acquire that write lock.

            sue.loverso@mongodb.com Susan LoVerso
            sue.loverso@mongodb.com Susan LoVerso
            0 Vote for this issue
            5 Start watching this issue