[SERVER-36447] [3.6] MapReduce uses the output collection's UUID when creating the temp collection Created: 03/Aug/18  Updated: 06/Dec/22  Resolved: 25/Mar/19

Status: Closed
Project: Core Server
Component/s: Catalog, MapReduce
Affects Version/s: 3.6.0
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Blake Oler Assignee: Backlog - Query Team (Inactive)
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Related
related to SERVER-36701 Concurrent mapReduce replace with set... Closed
Assigned Teams:
Query
Operating System: ALL
Participants:
Linked BF Score: 15

 Description   

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


Generated at Thu Feb 08 04:43:08 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.