-
Type:
New Feature
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Storage Execution
-
None
-
3
-
TBD
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Mongosync's embedded verifier has a difficult time verifying TTL collections, because the TTL monitor can delete documents at any time, even when all other writes are stopped on the cluster. We could disable the TTL monitor cluster-wide, but this will be problematic for some of our users, who often need to migrate a small subset of collections.
We know that you can set expireAfterSeconds to MaxInt to avoid the monitor identifying documents to delete: mongosync does that on the destination cluster. That solution is not workable for the source cluster, because mongosync does not modify customer data on the source. (So, disabling the monitor would be ok, but updating their TTL indexes to change the expireAfterSeconds values would not be.)
It would be ideal if we could turn off the TTL monitor per-collection, so that mongosync could disable the monitor for collections it's migrating. Even more ideal would be a way to stop the TTL thread from deleting documents entirely for a time, so that mongosync could be sure all writes to the cluster are stopped during its critical section.
- related to
-
SERVER-90819 Allow to set TTL expireAfterSeconds to "off" in order to disable it
-
- Backlog
-