[SERVER-62925] Rationalize locking behavior for sbe exchange operator Created: 24/Jan/22  Updated: 06/Dec/22

Status: Backlog
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Svilen Mihaylov (Inactive) Assignee: Backlog - Query Execution
Resolution: Unresolved Votes: 0
Labels: sbe
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Query Execution
Participants:

 Description   

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());


Generated at Thu Feb 08 05:56:26 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.