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

Avoid dropping lock before cleaning up DocumentSourceCursor's PlanExecutor

    XMLWordPrintable

    Details

    • Backwards Compatibility:
      Fully Compatible
    • Backport Requested:
      v3.6
    • Sprint:
      Query 2017-12-18
    • Linked BF Score:
      0

      Description

      In order to dispose of a PlanExecutor, we need to acquire the collection lock to avoid races upon deregistering the PlanExecutor from the CursorManager. However, in the case where the PlanExecutor has been exhausted or the limit has been reached (this case) we end up releasing the lock directly before re-acquiring it to dispose of the PlanExecutor. We should simply dispose of the PlanExecutor while we still hold the lock.

        Attachments

          Activity

            People

            Assignee:
            charlie.swanson Charlie Swanson
            Reporter:
            charlie.swanson Charlie Swanson
            Participants:
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: