-
Type: Bug
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Server Programmability
-
ALL
-
6
It is not safe to call scheduleRemoteCommand with an RCR with an OperationContext from a different thread, unless there is additional synchronization that ensures the OperationContext isn't destroyed. Refer to SERVER-84514 .
Unfortunately, the AsyncResultsMerger breaks the contract. When it asks for next batch handle batch response from from remote nodes, it call scheduleRemoteCommand with an RCR with an OperationContext from an executor thread instead of the client thread which owns the OperationContext. It also causes ThreadSanitizer reports an false positive data race when call `opCtx.getComment()` in the RCR constructor in the executor thread.
- is depended on by
-
SERVER-84514 Enforce implicit rules around use of OperationContext on a RemoteCommandRequest
- Backlog