[SERVER-69236] Remove TTL index on tenant migration donor state document namespace Created: 29/Aug/22  Updated: 28/Sep/23

Status: Backlog
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Esha Maharishi (Inactive) Assignee: Backlog - Service Architecture
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-61717 Ensure a POS instance remains in the ... Open
Related
related to SERVER-65236 Make tenant migration donor delete it... Closed
is related to SERVER-69235 Remove TTL index on tenant migration ... Closed
Assigned Teams:
Service Arch
Sprint: Server Serverless 2022-11-14, Server Serverless 2022-11-28, Service Arch 2023-08-07, Service Arch 2023-08-21, Service Arch 2023-09-04, Service Arch 2023-09-18
Participants:

 Description   

SERVER-65236 made the tenant migration donor directly delete its state document from its run() method, so the TTL index on the state document namespace is no longer needed.

This ticket should stop calling createIndexes for the TTL index in TenantMigrationDonorService::_rebuildService, and should instead call dropIndexes there to drop the TTL index if it exists because an earlier deployment was upgraded to the newer binaries.

This ticket should also add an upgrade/downgrade test under jstests/multiVersion that an existing TTL index gets deleted on upgrade.



 Comments   
Comment by Suganthi Mani [ 03/Jul/23 ]

Both SERVER-69236 & SERVER-69235 should be straight-forward. As part of those tickets we should update TenantMigration[Donor|Recipient]Service::rebuildService() to create collection with ttl (similar to shard merge recipient service). And, delete this test - tenant_migration_recipient_ttl.js which we don't need after SERVER-69235 . FYI, we have test coverage for deleting state doc directly by instance run method, see tenant_migration[recipient|donor]_directly_deletes_its_state_doc.js.

Both donor and recipient creates external key collection with ttl index, for storing signing keys. I don't recall why we need ttl index for the external key collection and if it be cleaned in-line by the instance run() method.  In either case, any work for external key collection, can be done as a separate ticket by Serverless team and shouldn't affect SERVER-61717.

CC jason.chan@mongodb.com 

Comment by Suganthi Mani [ 29/Jun/23 ]

Flagging for scheduling as this would help SERVER-61717 not to think of edge cases due to TTL logic.

Comment by Steven Vannelli [ 05/Dec/22 ]

Thanks for the heads up didier.nadeau@mongodb.com. We'll keep it assigned to you at the top of the backlog for now but let me know if we should reassign/reschedule.

Comment by Didier Nadeau [ 05/Dec/22 ]

steven.vannelli@mongodb.com I have removed this ticket from the current sprint as I won't work on it (last week was focused on the tech design, this one is for merge work).

Generated at Thu Feb 08 06:12:57 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.