[SERVER-69506] An InterruptibleLockGuard should be placed in the PlanExecutorSBE class as a private member if the use cases are expanded beyond the find/agg/getMore commands while the UninterruptibleLockGuard still exists Created: 07/Sep/22  Updated: 05/Dec/22

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

Type: Task Priority: Major - P3
Reporter: Dianna Hohensee (Inactive) Assignee: Backlog - Storage Execution Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-67424 Seek and destroy open storage cursors... Open
related to SERVER-69059 Create an InterruptibleLockGuard to p... Closed
related to SERVER-69406 Place InterruptibleLockGuards in the ... Closed
is related to SERVER-68868 Remove all instances of Uninterruptib... Blocked
Assigned Teams:
Storage Execution
Participants:

 Description   

Storch and I were discussing the possibility of the SBE PlanExecutor being used in new code paths in a distant future. The use of a SBE PlanExecutor outside of lock-manager locks without an InterruptibleLockGuard would not be safe, if the UninterruptibleLockGuard still exists. We want to have this ticket on the backlog as documentation. We don't think it's worth proactively dealing with now. The UninterruptibleLockGuard (and InterruptibleLockGuard) may also be gone by that future time: SERVER-68868 was filed to remove it.

Work has been done in SERVER-69059, SERVER-69406 and SERVER-67424 to make sure that SBE PlanExecutors, which going forward will hold storage cursors open across find/agg/getMore commands and query yielding, are always interruptible for replication rollback. This was done by placing InterruptLockGuard instances in the find and aggregation code paths, and putting an InterruptibleLockGuard in the ClientCursorPin class to protect the getMore command case.


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