[SERVER-33785] clientcursormon should acquire locks in a way that cannot throw Created: 09/Mar/18  Updated: 29/Oct/23  Resolved: 14/Mar/18

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

Type: Bug Priority: Major - P3
Reporter: Charlie Swanson Assignee: Charlie Swanson
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Related
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Query 2018-03-26
Participants:
Linked BF Score: 22

 Description   

Currently the background thread will use AutoGetCollectionForReadCommand, which will throw if the operation is interrupted for any reason. This can happen if the server starts its shutdown sequence, in which case all operations are interrupted, including the background thread.

Specifically, we should use the UninterruptibleLockGuard class to prevent exceptions from being thrown.

We should probably also move away from that particular db_raii helper, since it will have some side-effects like increasing the Top stats, etc.



 Comments   
Comment by Githook User [ 14/Mar/18 ]

Author:

{'email': 'charlie.swanson@mongodb.com', 'name': 'Charlie Swanson', 'username': 'cswanson310'}

Message: SERVER-33785 Prevent interrupt in clientcursormon thread
Branch: master
https://github.com/mongodb/mongo/commit/b5b4975daf0a327cc2ee2756b6771ca4c9fabfed

Generated at Thu Feb 08 04:34:34 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.