[SERVER-13937] Allow setting a window and interval for the TTL monitor Created: 14/May/14  Updated: 06/Dec/22  Resolved: 09/Nov/20

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

Type: New Feature Priority: Major - P3
Reporter: Alon Horev Assignee: Backlog - Storage Execution Team
Resolution: Won't Do Votes: 4
Labels: TTLMonitor
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Duplicate
is duplicated by SERVER-15800 Scheduler for TTL index deletion windows Closed
Related
related to SERVER-1256 low priority write flag Closed
related to SERVER-8616 Adding Tunable to TTL Collection thread Closed
related to SERVER-6712 Make TTL Collection background task p... Closed
Assigned Teams:
Storage Execution
Participants:

 Description   

The TTL monitor incurs high load on our system. It deletes the oldest data which is never used so it generates lots of page faults, disk load, and readers start to accumulate in the queue.

It would be more efficient to run during the night time where the load on our system is low. It would be nice to set a start/end time window and also an interval. I believe a higher interval could also contribute to overall efficiency.



 Comments   
Comment by Eric Milkie [ 19/Feb/19 ]

We hope to make the TTL deleter more efficient such that it doesn't put such a high load on servers when it runs.  Thus, scheduling wouldn't need to be required.

Comment by Asya Kamsky [ 04/Dec/14 ]

Agreed on the goal of the ticket.

The commands listed can be useful for anyone who doesn't know that they can disable and enable TTL monitor via cron scripts (or similar) as a workaround until the window feature is implemented within the server itself.

Comment by Alon Horev [ 04/Dec/14 ]

Hi Asya, we're aware of the ttlMonitorEnabled. This is about defining a window similar to the balancer window.

Comment by Asya Kamsky [ 03/Dec/14 ]

This is already currently possible with the following:

db.adminCommand({setParameter:1, ttlMonitorEnabled:false});
db.adminCommand({setParameter:1, ttlMonitorEnabled:true});

Comment by Asya Kamsky [ 23/Jun/14 ]

Looks like related to SERVER-6712

Generated at Thu Feb 08 03:33:21 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.