-
Type: Bug
-
Resolution: Duplicate
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Service Arch
-
ALL
-
3
It is possible to get into a state where the opCtx has been killed but not yet delisted. When we try to create a new opCtx during SessionWorkflow exhaust cleanup, we assume that the client does not already have an opCtx. We had thought that this was already solved due to an earlier check to killAndDelistOperation if there existed previously an opCtx on the client. However, as part of this earlier check, we erroneously assume that the previously opCtx would have been in a healthy state.
The simplest solution here is to call killAndDelistOperation regardless of whether the opCtx was already killed, so that we ensure delisting happens as well. The second kill will be essentially a no-op.
- duplicates
-
SERVER-80001 Delist opCtx during ClientDisconnect during getMores
- Closed