Description
Original summary:
MapReduce with inline enabled causes sharding to create collection with empty name
Original report:
This was caught through the mapReduce*.js suite of tests, in the case of sharded collection output, when there is an assertion about the collection name not being empty in query-related commands.
This is the assertion:
m30999| 2014-10-03T12:06:23.586-0400 D SHARDING [Balancer] shard0001 has more chunks me:1 best: shard0000:0m30999| 2014-10-03T12:06:23.586-0400 D SHARDING [Balancer] collection : mrShard.mrReduceInShardedOutShardedm30999| 2014-10-03T12:06:23.586-0400 D SHARDING [Balancer] donor : shard0001 chunks on 1m30999| 2014-10-03T12:06:23.586-0400 D SHARDING [Balancer] receiver : shard0000 chunks on 0m30999| 2014-10-03T12:06:23.586-0400 D SHARDING [Balancer] threshold : 2m30999| 2014-10-03T12:06:23.586-0400 D SHARDING [Balancer] no need to move any chunkm30999| 2014-10-03T12:06:23.586-0400 D SHARDING [Balancer] about to log balancer result: { server: "kaloianmdesktop", time: new Date(1412352383586), what: "balancer.round", details: { executionTimeMillis: 225, errorOccured: false, candidateChunks: 0, chunksMoved: 0 } }m30999| 2014-10-03T12:06:23.611-0400 D SHARDING [Balancer] *** end of balancing roundm30999| 2014-10-03T12:06:23.629-0400 I SHARDING [Balancer] distributed lock 'balancer/kaloianmdesktop:30999:1412352205:41' unlocked.m30999| 2014-10-03T12:06:26.184-0400 I SHARDING [LockPinger] cluster localhost:30000 pinged successfully at Fri Oct 03 12:06:26 2014 by distribute...m30001| 2014-10-03T12:06:26.601-0400 I - [conn5] Invariant failure !_nss.coll().empty() src\mongo\db\client.cpp 221m30001| 2014-10-03T12:06:27.351-0400 I - [conn5] mongod.exe ...\src\mongo\util\stacktrace_win.cpp(173) mongo::printStackTrace+0x5bm30001| 2014-10-03T12:06:27.352-0400 I - [conn5] mongod.exe ...\src\mongo\util\log.cpp(134) mongo::logContext+0xd8m30001| 2014-10-03T12:06:27.352-0400 I - [conn5] mongod.exe ...\src\mongo\util\assert_util.cpp(143) mongo::invariantFailed+0xe3m30001| 2014-10-03T12:06:27.352-0400 I - [conn5] mongod.exe ...\src\mongo\db\client.cpp(221) mongo::AutoGetCollectionForRead::_init+0xa1m30001| 2014-10-03T12:06:27.352-0400 I - [conn5] mongod.exe ...\src\mongo\db\client.cpp(206) mongo::AutoGetCollectionForRead::AutoGetCollectionForRead+0xffm30001| 2014-10-03T12:06:27.353-0400 I - [conn5] mongod.exe ...\src\mongo\db\commands\count.cpp(108) mongo::CmdCount::run+0xfbm30001| 2014-10-03T12:06:27.353-0400 I - [conn5] mongod.exe ...\src\mongo\db\dbcommands.cpp(1150) mongo::_execCommand+0xb0m30001| 2014-10-03T12:06:27.353-0400 I - [conn5] mongod.exe ...\src\mongo\db\dbcommands.cpp(1364) mongo::Command::execCommand+0xde3m30001| 2014-10-03T12:06:27.353-0400 I - [conn5] mongod.exe ...\src\mongo\db\dbcommands.cpp(1442) mongo::_runCommands+0x570m30001| 2014-10-03T12:06:27.354-0400 I - [conn5] mongod.exe ...\src\mongo\db\query\new_find.cpp(125) mongo::runCommands+0x88m30001| 2014-10-03T12:06:27.354-0400 I - [conn5] mongod.exe ...\src\mongo\db\query\new_find.cpp(510) mongo::newRunQuery+0x490m30001| 2014-10-03T12:06:27.354-0400 I - [conn5] mongod.exe ...\src\mongo\db\instance.cpp(271) mongo::receivedQuery+0x2aem30001| 2014-10-03T12:06:27.354-0400 I - [conn5] mongod.exe ...\src\mongo\db\instance.cpp(444) mongo::assembleResponse+0x4e1m30001| 2014-10-03T12:06:27.354-0400 I - [conn5] mongod.exe ...\src\mongo\db\db.cpp(186) mongo::MyMessageHandler::process+0x1afm30001| 2014-10-03T12:06:27.355-0400 I - [conn5] mongod.exe ...\src\mongo\util\net\message_server_port.cpp(228) mongo::PortMessageServer::handleIncomingMsg+0x5e4This is the command, which gets executed on MongoS and the call stack:
m30999| 2014-10-03T15:30:00.360-0400 D COMMANDS [conn1] COMMAND OBJECT: { mapreduce: "srcSharded", map: function map() { emit(this.i, 1); }, reduce: function reduce(key, values) { return Array.sum(values) }, out: { inline: 1.0, sharded: true } }Call stack:
m30999| 2014-10-03T12:06:29.351-0400 I - [conn1] mongos.exe ...\src\mongo\util\stacktrace_win.cpp(173) mongo::printStackTrace+0x5bm30999| 2014-10-03T12:06:29.352-0400 I - [conn1] mongos.exe ...\src\mongo\util\assert_util.cpp(80) mongo::DBException::traceIfNeeded+0x13cm30999| 2014-10-03T12:06:29.352-0400 I - [conn1] mongos.exe ...\src\mongo\util\assert_util.h(116) mongo::DBException::DBException+0x84m30999| 2014-10-03T12:06:29.352-0400 I - [conn1] mongos.exe ...\src\mongo\util\net\sock.h(166) mongo::SocketException::SocketException+0x15am30999| 2014-10-03T12:06:29.352-0400 I - [conn1] mongos.exe ...\src\mongo\util\net\sock.cpp(806) mongo::Socket::handleRecvError+0x65cm30999| 2014-10-03T12:06:29.352-0400 I - [conn1] mongos.exe ...\src\mongo\util\net\sock.cpp(749) mongo::Socket::_recv+0xd3m30999| 2014-10-03T12:06:29.352-0400 I - [conn1] mongos.exe ...\src\mongo\util\net\sock.cpp(734) mongo::Socket::unsafe_recv+0x3cm30999| 2014-10-03T12:06:29.352-0400 I - [conn1] mongos.exe ...\src\mongo\util\net\sock.cpp(724) mongo::Socket::recv+0x8bm30999| 2014-10-03T12:06:29.352-0400 I - [conn1] mongos.exe ...\src\mongo\util\net\message_port.cpp(180) mongo::MessagingPort::recv+0x8cm30999| 2014-10-03T12:06:29.352-0400 I - [conn1] mongos.exe ...\src\mongo\util\net\message_port.cpp(272) mongo::MessagingPort::recv+0x6cm30999| 2014-10-03T12:06:29.352-0400 I - [conn1] mongos.exe ...\src\mongo\util\net\message_port.cpp(268) mongo::MessagingPort::call+0x4em30999| 2014-10-03T12:06:29.352-0400 I - [conn1] mongos.exe ...\src\mongo\client\dbclient.cpp(1525) mongo::DBClientConnection::call+0xa3m30999| 2014-10-03T12:06:29.352-0400 I - [conn1] mongos.exe ...\src\mongo\client\dbclientcursor.cpp(80) mongo::DBClientCursor::init+0x131m30999| 2014-10-03T12:06:29.352-0400 I - [conn1] mongos.exe ...\src\mongo\client\dbclient.cpp(1118) mongo::DBClientBase::query+0x132m30999| 2014-10-03T12:06:29.352-0400 I - [conn1] mongos.exe ...\src\mongo\client\dbclientinterface.h(1272) mongo::DBClientConnection::query+0xd3m30999| 2014-10-03T12:06:29.353-0400 I - [conn1] mongos.exe ...\src\mongo\client\dbclient.cpp(959) mongo::DBClientInterface::findN+0x104m30999| 2014-10-03T12:06:29.353-0400 I - [conn1] mongos.exe ...\src\mongo\client\dbclient.cpp(979) mongo::DBClientInterface::findOne+0xc9m30999| 2014-10-03T12:06:29.353-0400 I - [conn1] mongos.exe ...\src\mongo\client\dbclient.cpp(447) mongo::DBClientWithCommands::runCommand+0x18bm30999| 2014-10-03T12:06:29.353-0400 I - [conn1] mongos.exe ...\src\mongo\client\dbclient.cpp(1049) mongo::DBClientConnection::runCommand+0x51m30999| 2014-10-03T12:06:29.353-0400 I - [conn1] mongos.exe ...\src\mongo\client\dbclient.cpp(473) mongo::DBClientWithCommands::count+0x115m30999| 2014-10-03T12:06:29.353-0400 I - [conn1] mongos.exe ...\src\mongo\s\chunk.cpp(1101) mongo::ChunkManager::calcInitSplitsAndShards+0x2b6m30999| 2014-10-03T12:06:29.353-0400 I - [conn1] mongos.exe ...\src\mongo\s\chunk.cpp(1147) mongo::ChunkManager::createFirstChunks+0xb1m30999| 2014-10-03T12:06:29.353-0400 I - [conn1] mongos.exe ...\src\mongo\s\config.cpp(229) mongo::DBConfig::shardCollection+0x733m30999| 2014-10-03T12:06:29.353-0400 I - [conn1] mongos.exe ...\src\mongo\s\commands_public.cpp(2029) mongo::dbgrid_pub_cmds::MRCmd::run+0x2063m30999| 2014-10-03T12:06:29.353-0400 I - [conn1] mongos.exe ...\src\mongo\s\commands_public.cpp(1785) mongo::dbgrid_pub_cmds::MRCmd::run+0x65m30999| 2014-10-03T12:06:29.353-0400 I - [conn1] mongos.exe ...\src\mongo\s\s_only.cpp(145) mongo::Command::execCommandClientBasic+0x386m30999| 2014-10-03T12:06:29.353-0400 I - [conn1] mongos.exe ...\src\mongo\s\commands_public.cpp(2683) mongo::Command::runAgainstRegistered+0x292m30999| 2014-10-03T12:06:29.353-0400 I - [conn1] mongos.exe ...\src\mongo\s\strategy.cpp(293) mongo::Strategy::clientCommandOp+0x75cm30999| 2014-10-03T12:06:29.353-0400 I - [conn1] mongos.exe ...\src\mongo\s\request.cpp(124) mongo::Request::process+0x48am30999| 2014-10-03T12:06:29.354-0400 I - [conn1] mongos.exe ...\src\mongo\s\server.cpp(148) mongo::ShardedMessageHandler::process+0x129m30999| 2014-10-03T12:06:29.354-0400 I - [conn1] mongos.exe ...\src\mongo\util\net\message_server_port.cpp(228) mongo::PortMessageServer::handleIncomingMsg+0x5e4