[SERVER-54203] [causal consistency] Ensure copied keys have replicated to every donor node before tenant migration commits Created: 02/Feb/21  Updated: 29/Oct/23  Resolved: 08/Mar/21

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

Type: Task Priority: Major - P3
Reporter: Jack Mulrow Assignee: Jack Mulrow
Resolution: Fixed Votes: 0
Labels: pm-1791_alpha2, pm-1791_milestone-F
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Backwards Compatibility: Fully Compatible
Sprint: Sharding 2021-02-22, Sharding 2021-03-08, Sharding 2021-03-22
Participants:

 Description   

To ensure that a request signed with a cluster time by the recipient can be processed by a stale donor node, the external validation keys copied from the recipient to the donor must have replicated to each donor node and been cached in-memory before the migration commits.

This can be done by waiting for the opTime of the last key insert to replicate to each voting node. Keys are copied at the beginning of a migration but this can be waited for near the end to improve performance.



 Comments   
Comment by Githook User [ 08/Mar/21 ]

Author:

{'name': 'Jack Mulrow', 'email': 'jack.mulrow@mongodb.com', 'username': 'jsmulrow'}

Message: SERVER-54203 Tenant migration donor should wait for external keys to replicate to all its nodes
Branch: master
https://github.com/mongodb/mongo/commit/421ddfa11b6eb4b38f676a0c4da3560fcf63713d

Comment by Jack Mulrow [ 02/Feb/21 ]

Note that because of SERVER-54204, the keys only need to replicate with local read concern. Also note that this is related to SERVER-54205 because that ticket will affect how secondaries load the replicated keys into their in-memory caches. 

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