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

Use repl::CollectionCloner to copy big unsharded collections

    XMLWordPrintable

Details

    • Task
    • Status: Backlog
    • Major - P3
    • Resolution: Unresolved
    • 3.7.1
    • None
    • Sharding

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              backlog-server-sharding Backlog - Sharding Team
              randolph@mongodb.com Randolph Tan
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: