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

Make Sessions uniquely owned by SessionManagers, which are uniquely owned by TransportLayers

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • Service Arch
    • Service Arch Prioritized List

    Description

      SERVER-80769 moved several metrics (notably HelloMetrics) from ServiceContext to SessionManager, but due to loose lifecycle management of `shared_ptr<Session>` and the lack of requirement for a TransportLayer in unit tests which using replication logic, it's currently impossible to guarantee a SessionManager is available in all contexts which wish to mutate HelloMetrics.

      Resolve this by tightening up transport object ownership, particularly around the Session objects. This will also allow removing the dummy "transportlessHelloMetrics" container for when (during unit tests) Sessions are unassociated to SessionManagers.

      Attachments

        Activity

          People

            backlog-server-servicearch Backlog - Service Architecture
            sara.golemon@mongodb.com Sara Golemon
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: