|
Instead of storing recordIds and fetching the documents later, the migration process can instead use the repl::CollectionCloner to copy the contents of the collection when moving a big chunk with ignoreJumbo = true.
Steps:
- Enter critical section. This will block new writes from being applied to the collection.
- Skip MigrationChunkClonerSourceLegacy::startClone() on the donor shard.
- Send _recvChunkStart to recipient shard with useCloner: true.
- Recipient shard use repl::CollectionCloner to copy the collection
- Donor shard sends _configsvrCommitChunkMigration
- Donor cleans up chunk with RangeDeleter.
|