-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
ALL
-
v4.4, v4.2
-
Execution Team 2021-05-17
-
(copied to CRM)
-
115
The TTLMonitor is responsible for removing expired documents from a collection with a TTL index. The expireAfterSeconds option is a numerical value that is used to calculate the expiration time for removing documents.
Currently, the TTLMonitor ensures that this option is a numerical type but does not check for NaN or values that exceed the range of a long long type.
To handle existing TTL indexes that may contain unrepresentable values, we should consider extracting the expireAfterSeconds option using BSON::safeNumberLong() instead. We would still be able to evaluate a reasonable expiration time from the safely converted numerical value.
- is duplicated by
-
SERVER-68283 Different behavior on arm64 for invalid expireAfterSeconds value
- Closed
- is related to
-
SERVER-61321 Improve handling of large/NaN values for text index version
- Closed
-
SERVER-54007 Perform TTL deletions on clustered indexes
- Closed
- related to
-
SERVER-60607 improve handling of large/NaN values for geo index version
- Closed
-
SERVER-68359 Prevent TTLMonitor from processing index if expireAfterSeconds is NaN
- Closed
-
SERVER-68522 Prevent 5.0 binary from starting in FCV 4.4 with misconfigured TTL index
- Closed