[SERVER-27337] Map/Reduce output inline option is masserting Created: 08/Dec/16  Updated: 05/Apr/17  Resolved: 13/Dec/16

Status: Closed
Project: Core Server
Component/s: MapReduce
Affects Version/s: 3.5.1
Fix Version/s: 3.5.1

Type: Bug Priority: Major - P3
Reporter: Eric Milkie Assignee: Tess Avitabile (Inactive)
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-20113 File descriptors can be exhausted by ... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Query 2016-12-12, Query 2017-01-23
Participants:

 Description   

The mr1.js jstest tests this but doesn't check the command result and thus the test still passes:

    res = db.runCommand({mapreduce: "mr1", map: m2, reduce: r2, out: {inline: true}});
    print("t4: " + res.timeMillis);

The massert is when it tries to drop its temp collections:

[MongoDFixture:job0] 2016-12-08T09:28:13.441-0500 I -        [conn4] Assertion: 28539:need a valid database name src/mongo/db/concurrency/d_concurrency.cpp 106

This massert does not occur in 3.2 or 3.4.



 Comments   
Comment by Githook User [ 13/Dec/16 ]

Author:

{u'username': u'tessavitabile', u'name': u'Tess Avitabile', u'email': u'tess.avitabile@mongodb.com'}

Message: SERVER-27337 mapReduce should not attempt to drop nonexistent temp collection
Branch: master
https://github.com/mongodb/mongo/commit/1dde8c56b6025363f8e048120f1ada69522d8615

Comment by Eric Milkie [ 08/Dec/16 ]

This appears to have been broken with the commit in SERVER-20113. The old code worked even if the temp collection namespace was null (e.g. when the inline functionality is used). The new code assumes the temp collection namespace will always be present and valid, but this is an incorrect assumption.

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