Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-32621

Use repl::CollectionCloner to copy big unsharded collections

    • Sharding

      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:
            backlog-server-sharding [DO NOT USE] Backlog - Sharding Team
            Reporter:
            randolph@mongodb.com Randolph Tan
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: