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

Consider removal of the PlanExecutor::LockPolicy code

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Works as Designed
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • None
    • Query Execution

    Description

      During earlier SBE development, I recall issues with the LockPolicy::kLocksInternally policy wherein the GlobalLock was not behaving correctly. I believed the decision was made to not use the internal locking policy, so I was concerned when I saw it in the code still: it isn't clear to me whether or not it's active or inactive (dead code)? If it's used for something else now, perhaps the code documentation or class name can be changed to reflect that?

      AutoGetCollection* instances cannot be created and destroyed out of order, in the sense that if AGC-A is created first, in parallel with AGC-B and AGC-C created afterwards, then it must be ensured that AGC-A is destroyed last. This is because the first AGC instance makes a GlobalLock instance that on construction is aware that it was created first and takes ownership of performing work upon destruction.

      Attachments

        Activity

          People

            backlog-query-execution Backlog - Query Execution
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: