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

mapReduce on mongos should pass UUID for sharded output collection in MapReduceFinishCommand to shards

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.6.0-rc0
    • Affects Version/s: 3.5.11
    • Component/s: Sharding
    • Labels:
      None
    • Fully Compatible
    • Sharding 2017-08-21, Sharding 2017-09-11, Sharding 2017-10-02

      If a sharded output collection specified in a mapReduce command on a cluster, currently the shards will generate their own UUIDs for the collection rather than using the UUID stored on the config server.

      This is because each shard puts its results into a temporary collection (which is created with a self-generated UUID), then renames the temporary collection to the final sharded output collection.

      Instead of letting the shard generate the UUID for the temporary collection itself, a 3.6 mongos should pass the UUID to use as part of the MapReduceFinishCommand. The shard should use this UUID when creating the temp collection.

      A shard in fcv=3.6 should uassert if the UUID is not sent as part of the MapReduceFinishCommand.

            Assignee:
            esha.maharishi@mongodb.com Esha Maharishi (Inactive)
            Reporter:
            esha.maharishi@mongodb.com Esha Maharishi (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: