-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Fully Compatible
-
Execution Team 2022-05-30, Execution Team 2022-06-13
With batched deletes, we've introduced the concept of 'fairness' for the TTL monitor as follows:
- A TTL pass deletes all documents whose TTL value is expired.
- If the TTL monitor batches deletes (ttlMonitorBatchDeletes server param), then it provides fair TTL deletion as below.
- The TTL pass consists of one or more subpasses.
- Each subpass deletes all expired documents on each TTL index in a round-robin fashion.
- The delete on each TTL index removes up to ttlIndexDeleteTargetDocs or runs up to ttlIndexDeleteTargetTimeMS, whichever happens first. The same TTL index can be queued up to be revisited in the same subpass if there are outstanding deletions.
- A TTL index is not visited any longer in a subpass once all documents are deleted.
- The duration of a subpass is limited to ttlMonitorSubPassTargetSecs. If there are outstanding deletions by the end of the subpass, a new subpass starts within the same pass.
- related to
-
SERVER-66898 Update permalinks in TTLMonitor Arch guide section
- Closed
-
SERVER-56194 Make TTL deletes fair
- Closed