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

Investigate if saveState/restoreState can release all storage engine resources

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution

      With SERVER-87707 we discovered that storage engine resources aren't really released once we call saveState. Instead the cursors are left in a reset state but not released/closed from the associated WT session. This would have consequences if the plan were to yield in the middle during transactions since two opCtx could potentially access and control the same WT session.

      To overcome this, we resorted to doing detach/reattach of the opCtx as it has the side effect of closing all cursors and releasing them.

      This ticket is about exploring whether we could make saveState/restoreState actually release all resources (i.e. close the cursors instead of only doing reset on them) and make detachFrom/reattachToOpCtx do pointer handling for the opCtx as it does today.

            Assignee:
            backlog-query-execution [DO NOT USE] Backlog - Query Execution
            Reporter:
            jordi.olivares-provencio@mongodb.com Jordi Olivares Provencio
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: