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

Ensure safe SessionCatalog initialization and use in embedded router mode

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Works as Designed
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • Service Arch
    • CAR Team 2024-01-08, CAR Team 2024-01-22, CAR Team 2024-02-05

    Description

      We need to ensure and document the access-pattern and types that will be used to represent the SessionCatalog when mongod is running in embedded router mode. I think it is safe to only have one in-memory SessionCatalog, and re-use the existing MongodSessionCatalog. We will just need to ensure that the reaping functionality in the RouterSessionCatalog here: https://github.com/mongodb/mongo/blob/a37dd902790b062a41fa87aacf57adce8ba503e6/src/mongo/s/session_catalog_router.cpp#L45 is preserved, that all Router operations use RouterOperationContextSession, and that yielding is performed when needed to ensure we don't deadlock trying to check out a session we already are using.

      This ticket tracks whatever code changes are necessary to initialize and use the SessionCatalog correctly in embedded router mode, as well as documenting the decision and explaining it in the arch guide or elsewhere.

      Attachments

        Activity

          People

            pol.pinol@mongodb.com Pol Pinol
            george.wangensteen@mongodb.com George Wangensteen
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: