Validate base-level latches

XMLWordPrintableJSON

    • Type: New Feature
    • Resolution: Fixed
    • Priority: Major - P3
    • 4.3.2
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • Service Arch 2019-10-07, Service Arch 2019-10-21, Service Arch 2019-11-18, Service Arch 2019-12-02
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      To validate base-level locking, we should do the following:

      • Add a Decoration to Client to store a LatchSetState struct
      • Make a Listener derived class that implements Mutex::LockListener and mutates the LatchSetState with onQuickLock()/onSlowLock() and onUnlock()
      • Modify LockListener function signatures to take a struct Mutex::Identity that holds a name, an optional SourceLocation, and a boolean isBaseLatch. All of the contents of Mutex::Identity should be constant from Mutex construction onward.
      • Change MONGO_MAKE_LATCH to construct a Mutex with a SourceLocationHolder via MONGO_SOURCE_LOCATION and isBaseLatch = false.
      • Add MONGO_MAKE_BASE_LATCH to construct a similar Mutex but with isBaseLatch = true.
      • Change a collection of base-level latches to be defined using MONGO_MAKE_BASE_LATCH. (See comments for potential locations)

            Assignee:
            Rahul Sundararaman (Inactive)
            Reporter:
            Benjamin Caimano (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: