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

Internal session pool may not reuse its session

    • ALL
    • Sharding 2022-08-08, Sharding 2022-08-22
    • 7

      When the internal transaction API is used by a command in a session that is not a retryable write, it will use create a "child" session based on the user session for its transaction, using the InternalSessionPool to reuse the same child session for that user session. The API will return its session to the pool in the destructor for one of its types (Transaction), which due to `shared_from_this` uses extending its lifetime may lead the destructor to run on an executor thread instead of the user command's thread. If this runs slow enough, a subsequent command for the same user session may fail to find the child session in the pool and create a new one, preventing session reuse.

            Assignee:
            sanika.phanse@mongodb.com Sanika Phanse (Inactive)
            Reporter:
            jack.mulrow@mongodb.com Jack Mulrow
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: