[SERVER-41345] FlowControlRefresher can be shut down while there are operations needing flow control tickets Created: 28/May/19  Updated: 29/Oct/23  Resolved: 31/May/19

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

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

Issue Links:
Depends
is depended on by SERVER-41241 Add correctness testing variant where... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Execution Team 2019-06-03
Participants:
Linked BF Score: 0

 Description   

The FlowControlRefresher periodic task is shut down as part of the node shut down procedure. If there are insufficient tickets available, certain operations will not receive a ticket and will hang.

A potential fix for this issue could be to identify all operations that occur during shutdown and exclude them from flow control.
Alternatively, the PeriodicRunner shutdown block can be moved to after the final global lock acquisition during shutdown.
A third fix is to add synchronization handling upon shutdown of the FlowControlRefresher thread to circumvent ticket acquisitions. This third fix seems the most promising.



 Comments   
Comment by Githook User [ 31/May/19 ]

Author:

{'name': 'Maria van Keulen', 'email': 'maria@mongodb.com', 'username': 'mvankeulen94'}

Message: SERVER-41345 Do not Flow Control after ticket refresher has shut down
Branch: master
https://github.com/mongodb/mongo/commit/8cabc69905b649a069f1124cf02e0cf46ff86a58

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