[SERVER-15883] Deadlock exceptions thrown during delete unsafe and skip documents Created: 30/Oct/14  Updated: 10/Dec/14  Resolved: 31/Oct/14

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

Type: Bug Priority: Blocker - P1
Reporter: Greg Studer Assignee: Greg Studer
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-15892 Deadlock exceptions not caught in fin... Closed
Operating System: ALL
Participants:

 Description   

Also may occur during update - haven't dug in.

When a deadlock exception is thrown in the DeleteStage, the stage is not restored before reusing via DeleteStage::restoreStage - this can allow a primary stepdown to go undetected or undetected cursor invalidation and is generally undefined behavior. Also, the DeleteStage does not store the working set member (WSM) when the problem occurs, so on resume the child stage will return the next member.



 Comments   
Comment by Greg Studer [ 31/Oct/14 ]

There's more work needed with yielding and DeadlockExceptions, but this issue is no longer relevant given other changes.

Comment by Greg Studer [ 30/Oct/14 ]

Just raising this issue so it isn't lost - discovered during the general yield audit. Working on some sort of a fix related to SERVER-15850, but this is a separate issue that is definitely a blocker.

Generated at Thu Feb 08 03:39:16 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.