-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Cluster Scalability
The session is checked out at the beginning and we "yield" from time to time (example) during the course of the migration. The main purpose of this session + txnNumber is to prevent older primaries from running the _migrateClone on the destination. However, it also had run into issues (for ex, SERVER-76720) because the session is held for almost the entire duration.
Some ideas:
1. Perhaps make migration destination manager a primary only service + possibly additional checks to prevent old instances trying to rerun migrateClone and possibly trigger range deleter on non-orphaned data.
2. Keep the session + txnNumber but only hold it at the very beginning when checking if it is allowed to continue running. This way we can also get rid of the "yielding" code and won't have to worry about not forgetting to yield when adding new blocking code.
- is related to
-
SERVER-76720 Chunk Migration migrates the session history for the migrating session leading to a deadlock
- Closed