[SERVER-45386] MongoDB TTL Monitor Batch Formation Created: 07/Jan/20  Updated: 07/Apr/23  Resolved: 07/Jan/20

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

Type: Question Priority: Major - P3
Reporter: Pratiksha Aggarwal Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Participants:

 Description   

Hi ,

When there is a heavy collection say with 50 crore of documents ,

field - created_at with date value on which TTL with expiration 1 year is applied

Index is created 100%

How does the mongodb TTL thread that runs every 60 seconds prepare which set of documents to delete?

Does it scan complete collection every minute?

 



 Comments   
Comment by Pratiksha Aggarwal [ 08/Jan/20 ]

Hi Carl,

The information and the document link shared by you does not fulfil the
answer to my question. I know that the TTL thread runs every 60 secs but
when there are 50 crore docuemnts it is not possible to completely scan
them at once withn 60 secs. So, what process or algorithm is used in that
case. Also, if it could be scanned by any means then where are they stored
to be deleted in cache or queued somewhere??

All this is nowhere mentioned in the documentation and mongodb community or
google groups are not enought to get this answered .

That is why we come to this platform to seek for help. I wonder that I
should have created it as a Bug "Mising Documentation" then it might be
answered instead of closing

On Tue, Jan 7, 2020 at 10:01 PM Carl Champain (Jira) <jira@mongodb.org>

Comment by Pratiksha Aggarwal [ 08/Jan/20 ]

Carl Champain

The information and the document link shared by you does not fulfil the answer to my question. I know that the TTL thread runs every 60 secs but when there are 50 crore docuemnts it is not possible to completely scan them at once withn 60 secs. So, what process or algorithm is used in that case. Also, if it could be scanned by any means then where are they stored to be deleted  in cache or queued somewhere??

All this is nowhere mentioned in the documentation and mongodb community or google groups are not enought to get this answered .

That is why we come to this platform to seek for help. I wonder that I should have created it as a Bug "Mising Documentation" then it might be answered instead of closing

Comment by Carl Champain (Inactive) [ 07/Jan/20 ]

Hi pragupta,

Our doc says:

TTL indexes expire documents after the specified number of seconds has passed since the indexed field value; i.e. the expiration threshold is the indexed field value plus the specified number of seconds.

The SERVER project is for bugs and feature suggestions for the MongoDB server. As this ticket does not appear to be a bug, I will now close it. I encourage you to ask our community by posting on the mongodb-user group or on Stack Overflow with the mongodb tag.

Kind regards,
Carl

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