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

[3.6] MapReduce uses the output collection's UUID when creating the temp collection

    • Type: Icon: Bug Bug
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 3.6.0
    • Component/s: Catalog, MapReduce
    • None
    • Query
    • ALL
    • 15

      If a mapReduce runs in FCV 3.4, the temp collection will automatically pick up the collection options from the out collection, if the out collection exists. If we're running concurrent mapReduces, the out collection has a chance to exist. Take this scenario:

      Steps to reproduce (sequentially):

      1. MapReduce 1 creates an out collection "xyz" with a generated UUID "a."
      2. MapReduce 2 (same in/out) creates a temp collection that uses the same UUID "a" picked up from the now-existing "xyz."
      3. The out collection "xyz" gets dropped.
      4. MapReduce 2 renames the temp collection to "xyz." It will have the same UUID "a."

      We should not be propagating UUIDs in this fashion.

      The relevant code is here

            Assignee:
            backlog-server-query Backlog - Query Team (Inactive)
            Reporter:
            blake.oler@mongodb.com Blake Oler
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: