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

The `movePrimary` collection cloner should not be checking for collection options match

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.3.1
    • Affects Version/s: 3.6.13, 4.0.10, 4.2.0-rc1
    • Component/s: Sharding
    • Labels:
      None
    • Fully Compatible
    • ALL
    • Sharding 2019-07-01, Sharding 2019-07-15
    • 27

      Cloning collections as part of movePrimary currently checks that the collection options match between the source and the destination shards. This comparison is not fully correct, because it is possible that the two nodes might have different storage engines and/or options for the storage engines.

      Instead of binary-comparing the entire options object, the cloner should instead just check for UUID match.

      This will effectively be the "algorithm" of the cloner.

      For each collection from the source:

      1. If collection doesn't exist on the destination, then create and clone it
      2. If the collection exists on the destination and:
        1. Is sharded on the source, then fail the clone
        2. Is not sharded on the source, then just compare the UUIDs and if they don't match, fail the clone

            Assignee:
            janna.golden@mongodb.com Janna Golden
            Reporter:
            kaloian.manassiev@mongodb.com Kaloian Manassiev
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: