-
Type: Improvement
-
Resolution: Fixed
-
Priority: Unknown
-
Affects Version/s: None
-
Component/s: CSOT
-
None
Description: When a getMore operation fails with CSOT being enabled, and the associated pinned connection is subsequently closed, any following killCursor operations on that connection fail with an error stating "cannot write to a closed stream".
According to the specification for serverless topologies operating in LOAD_BALANCED mode, this behavior is incorrect. The spec dictates that if a getMore fails due to a network error, the connection should remain pinned to the cursor, and killCursors should not be executed when the cursor’s close method is invoked.
Expected Behavior: The connection remains pinned to the cursor after a getMore network failure, and no killCursors command is executed upon invoking the cursor’s close method.
Actual Behavior: The killCursors command is executed when the cursor's close method is invoked after a getMore network failure, which contradicts the specifications for LOAD_BALANCED mode in a serverless topology.