[SERVER-8616] Adding Tunable to TTL Collection thread Created: 19/Feb/13  Updated: 06/Dec/22  Resolved: 11/May/20

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

Type: Improvement Priority: Major - P3
Reporter: Osmar Olivo Assignee: Backlog - Storage Execution Team
Resolution: Done Votes: 14
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-15800 Scheduler for TTL index deletion windows Closed
related to SERVER-1256 low priority write flag Closed
is related to SERVER-13937 Allow setting a window and interval f... Closed
is related to SERVER-6712 Make TTL Collection background task p... Closed
Assigned Teams:
Storage Execution
Participants:
Case:

 Description   

It would be nice to be able to add a tunable to TTL Indexes to change the priority of the cleanup thread.

For systems with High Loads, slightly higher priorities will prevent heavy backups of the cleanups. And lower access systems might require a lower priority than what it is set at.

It is possible for heavy write loads to fall days behind in terms of your TTL cleanup and it is possible for the TTL to effect performance slightly. Being able to have more fine grained control of it depending on what you want would be great.



 Comments   
Comment by Connie Chen [ 11/May/20 ]

Recent improvements to TTL collection thread have increased efficiency in deletion and reduced the need for this control, so we are closing this as Gone Away 

Comment by Asya Kamsky [ 09/Sep/15 ]

As a workaround, it is already currently possible to disable TTL thread temporarily with the following:

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

The second line re-enables the TTL monitor thread. If there is a high load period during which you want to prevent TTL from running, you can use these - however, when re-enabled, there will be a lot more documents to delete than "normal" (for all the time that TTL thread was not running).

Comment by Roman [ 18/Sep/14 ]

+1 vote for this issue

Comment by MediaMath Mongo [ 03/Sep/13 ]
  • TTL monitor should have the same features as balancer so user can enable/disable and schedule window of operation
  • TTL should run in background with lower prioirty and cause minimal interference to actual db operations
Comment by Javier Durante [ 20/Aug/13 ]

+1 This is a very important feature for High availability systems. Removing documents every minute could lead to a poor performance on cluster with high througput
I had this problem and I removed the index. Everything went back to normal. I'm planning to do a nigthly job to remove old documents, but this is not the optimal solution

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