[SERVER-56236] Disable sync source re-evaluation in oplog fetcher for tenant migrations Created: 21/Apr/21  Updated: 27/Oct/23  Resolved: 21/Apr/21

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

Type: Task Priority: Major - P3
Reporter: Xuerui Fa Assignee: Backlog - Replication Team
Resolution: Works as Designed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Replication
Participants:

 Description   

In tenant migrations, we repurposed the OplogFetcher as our way of fetching oplog entries from the donor. However, the OplogFetcher contains some additional logic to check if we should stop syncing from the current sync source. These checks compare our current sync source to other members of our replica set. As a result, we may shut down the oplog fetcher for reasons such as syncing from a closer member, but in reality the recipient service would be forced to restart on these errors and select another donor host. We should probably disable any non-relevant checks when we are running the OplogFetcher from tenant migrations.



 Comments   
Comment by Xuerui Fa [ 21/Apr/21 ]

Lingzhi discovered that this is already being handled inside of the recipient. We create a DataReplicatorExternalState and mock out many of its functions, including shouldStopFetching. So we should never run into this problem for Tenant Migrations. Closing this ticket!

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