[SERVER-79613] Client cursors aren't killed during stepdown if part of a transaction Created: 02/Aug/23  Updated: 27/Oct/23  Resolved: 03/Aug/23

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

Type: Bug Priority: Major - P3
Reporter: Jordi Olivares Provencio Assignee: Jordi Olivares Provencio
Resolution: Works as Designed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Operating System: ALL
Sprint: Execution EMEA Team 2023-08-07
Participants:
Linked BF Score: 119

 Description   

As the title says, client cursors aren't killed during a stepdown if they are part of a multi-document transaction. With the move to shard role acquisitions this has the potential to hold orphan shard ranges from being removed.



 Comments   
Comment by Jordi Olivares Provencio [ 03/Aug/23 ]

As per the agreement reached in SERVER-35217 (comment in particular) this is essentially a Driver issue. Idle sessions and cursors get periodically reaped asynchronously.

Additionally, there are concerns of eagerly closing cursors that are part of a transaction. In particular, the current CursorManager code needs to perform a full scan of all cursors if we want to close cursors pertaining to a session in particular. This blocks all new user operations, which could be a potentially significant latency hiccup.

As a result of all of this, we are closing this as Works as Designed since we will rely on the asynchronous cleanup process that already exists today.

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