summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathias Stearn <mathias@10gen.com>2014-09-03 12:20:07 -0400
committerMathias Stearn <redbeard0531@gmail.com>2014-09-17 14:14:32 -0400
commit722777370bef11db921efff5b0a50242c881afd8 (patch)
treeac6a8bba7d31565bbe29ac826177e63e2ee04171
parent299b86caf30bae2c88cd51ae189a37bd9cdeea73 (diff)
downloadmongo-722777370bef11db921efff5b0a50242c881afd8.tar.gz
SERVER-15087 Get owned copy of document in MR final reduce
(cherry picked from commit 92bf7260c3dda79abf9f6b2bdf9e7fb827f6743a)
-rw-r--r--src/mongo/db/commands/mr.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/mongo/db/commands/mr.cpp b/src/mongo/db/commands/mr.cpp
index c409bdda3ca..b6210313c50 100644
--- a/src/mongo/db/commands/mr.cpp
+++ b/src/mongo/db/commands/mr.cpp
@@ -963,6 +963,7 @@ namespace mongo {
BSONObj o;
Runner::RunnerState state;
while (Runner::RUNNER_ADVANCED == (state = runner->getNext(&o, NULL))) {
+ o = o.getOwned(); // we will be accessing outside of the lock
pm.hit();
if ( o.woSortOrder( prev , sortKey ) == 0 ) {