[SERVER-39616] Fix size of data structure for storing optimes/lock acquisitions/number of operations Created: 15/Feb/19  Updated: 29/Oct/23  Resolved: 26/Apr/19

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

Type: Task Priority: Major - P3
Reporter: Maria van Keulen Assignee: Daniel Gottlieb (Inactive)
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-39494 Clean up chosen Flow Control POC Closed
Duplicate
is duplicated by SERVER-40552 Allow runtime configurability of Flow... Closed
Backwards Compatibility: Fully Compatible
Sprint: Storage NYC 2019-03-25, Storage NYC 2019-04-08, Storage NYC 2019-04-22, Storage NYC 2019-05-06
Participants:

 Description   

The ticket admission flow control POC makes use of a data structure that stores samples of the total number of operations applied since startup and the total number of IX lock acquisitions since start up at a point in time corresponding to a specific timestamp.

It is risky to keep around an in-memory structure that grows in size proportionally to replication lag. This structure should be modified to be of fixed size. For now, the initial fixed size will be ~50 megabytes worth of data, but this size is subject to change and will perhaps be parametrized. Since the oldest entries (entries at the the majority point) are the most valuable information in the structure, it's preferable for the newest samples to lose resolution when the data structure hits its memory limits. Refactor the existing structure to use a deque.

This approximation does pose the risk of lag not being able to be adequately throttled in certain scenarios.



 Comments   
Comment by Githook User [ 26/Apr/19 ]

Author:

{'email': 'daniel.gottlieb@mongodb.com', 'name': 'Daniel Gottlieb', 'username': 'dgottlieb'}

Message: SERVER-39616: Throw away flow control samples when the majority point stands still.
Branch: master
https://github.com/mongodb/mongo/commit/520c56ca5a94dcd44d01a69ebaafd34307473df8

Comment by Maria van Keulen [ 16/Apr/19 ]

This ticket should also make the chosen size of the samples data structure and the sampling frequency user-configurable.

Comment by Maria van Keulen [ 09/Apr/19 ]

This ticket should also address the TODO comment to make Flow Control runtime configurable. Admin privileges should be required to toggle the value of the parameter.

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