Use repl::CollectionCloner to copy big unsharded collections

XMLWordPrintableJSON

    • Sharding
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      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:

      1. Enter critical section. This will block new writes from being applied to the collection.
      2. Skip MigrationChunkClonerSourceLegacy::startClone() on the donor shard.
      3. Send _recvChunkStart to recipient shard with useCloner: true.
      4. Recipient shard use repl::CollectionCloner to copy the collection
      5. Donor shard sends _configsvrCommitChunkMigration
      6. Donor cleans up chunk with RangeDeleter.

              Assignee:
              [DO NOT USE] Backlog - Sharding Team
              Reporter:
              Randolph Tan
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: