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

Ensure safe SessionCatalog initialization and use in embedded router mode

    • Type: Icon: Task Task
    • Resolution: Works as Designed
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Service Arch
    • CAR Team 2024-01-08, CAR Team 2024-01-22, CAR Team 2024-02-05

      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.

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

              Created:
              Updated:
              Resolved: