[SERVER-74809] Yield call into storage engine after releasing global lock Created: 13/Mar/23  Updated: 14/Mar/23  Resolved: 14/Mar/23

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

Type: Bug Priority: Major - P3
Reporter: Henrik Edin Assignee: Backlog - Storage Execution Team
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates SERVER-70338 Query yield accesses the storage engi... Closed
Related
related to SERVER-55173 Segmentation fault in WiredTigerSessi... Closed
related to SERVER-60335 Wait for all user operations to be ki... Backlog
Assigned Teams:
Storage Execution
Operating System: ALL
Participants:

 Description   

Query yield call saveLockStateAndUnlock which returns true if locks were released. If locks were released we proceed to check for interrupt and finally abandoning the WT snapshot.

It is not safe to call into the storage engine without a global lock. There could for example be a shutdown in progress that has acquired the global lock in MODE_X and is shutting down the storage engine. If this is the case, we may throw when checking for interrupt which again causes the snapshot do be abandoned when the GlobalLock type is destroyed.


Generated at Thu Feb 08 06:28:35 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.