Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-37406

A stashed Locker should keep information about the owning transaction

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • 4.1.8, 4.0.15
    • None
    • None
    • Fully Compatible
    • v4.0
    • Storage NYC 2019-01-14, Storage NYC 2019-01-28
    • 62

    Description

      When the hang analyzer runs, it prints information and address of the LockRequests and Lockers for each thread. If that Locker is owned by an idle, stashed transaction, something like this is printed:

      LockRequest 795830 @ 0x7FD023737680: Mode = IX; Thread = thread::id of a non-executing thread
      

      This is pretty useless to a debugger, because the information about which session and transaction own that Locker is not attainable from this output. Instead it requires finding the SessionCatalog and searching through the list of sessions.

      When unsetThreadId() is called, we should replace the thread ID with the owning session ID, or just always keep a reference to the session ID on the locker.

      Attachments

        Issue Links

          Activity

            People

              xiangyu.yao@mongodb.com Xiangyu Yao (Inactive)
              louis.williams@mongodb.com Louis Williams
              Votes:
              1 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: