There is a TODO in the codebase referencing a resolved ticket which is assigned to you.
Please follow this link to see the lines of code referencing this resolved ticket:
The next steps for this ticket are to either remove the outdated TODO or follow the steps in the TODO if it is correct. If the latter, please update the summary and description of this ticket to represent the work you're actually doing.
As part of removing the TODOs to enable testing, we found the following bug:
- Recipient exits the AsyncTry loop after fulfilling the data consistent promise.
- Donor sees that the promise is fulfilled by immediately fails over.
- Recipient detects donor failover and aborts the migration instead of retrying.
So as part of this ticket, we want to make sure we retry on donor failover in the above case. The solution is to move the following wait on the tenantOplogApplier into the AsyncTry and to also synchronize the following code in the case of concurrent shutdown of the oplog applier due to migration retry.