Rationalize locking behavior for sbe exchange operator

XMLWordPrintableJSON

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

      Currently we take a global lock when on operator open. Is this the right approach?

      Lock::GlobalLock lock(opCtx, MODE_IS);

       

      Without this locking we can fail parallel plans with indexes by asserting here

      boost::optional<KeyStringEntry> seekForKeyString(
      const KeyString::Value& keyStringValue) override {
      dassert(_opCtx>lockState()>isReadLocked());

              Assignee:
              [DO NOT USE] Backlog - Query Execution
              Reporter:
              Svilen Mihaylov (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: