summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRandolph Tan <randolph@10gen.com>2015-12-01 17:25:43 -0500
committerRandolph Tan <randolph@10gen.com>2015-12-16 15:32:04 -0500
commiteb79bd1fe807512e54c68c5982b2a24fa1d66bba (patch)
treeb96dfacc264303de01d57dc881c29206d8bdc39a
parent934c5a5241edd01df270065831646d78ed5a80c1 (diff)
downloadmongo-eb79bd1fe807512e54c68c5982b2a24fa1d66bba.tar.gz
SERVER-19266 An error document is returned with result set
Make sure that the error result flag is set when receiving one from of the shards during GET_MORE.
-rw-r--r--src/mongo/client/parallel.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mongo/client/parallel.cpp b/src/mongo/client/parallel.cpp
index 176f7b9a108..7907113a7ef 100644
--- a/src/mongo/client/parallel.cpp
+++ b/src/mongo/client/parallel.cpp
@@ -1513,6 +1513,11 @@ BSONObj ParallelSortClusteredCursor::next() {
// We know we have at least one result in this cursor
BSONObj me = _cursors[i].get()->peekFirst();
+ uassert(28841,
+ str::stream() << "server " << _cursors[i].get()->originalHost()
+ << " returned an error: " << me,
+ !_cursors[i].get()->hasResultFlag(ResultFlag_ErrSet));
+
// If this is the first non-empty cursor, save the result as best
if (bestFrom < 0) {
best = me;