-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
None
-
Affects Version/s: 2.4.9, 2.5.5
-
Component/s: MapReduce
-
Query Execution
-
ALL
-
In db.currentOp() we support status output for MR jobs. However, if query filter is used, we output status incorrectly:
> db.currentOp() { "inprog" : [ { "opid" : 16406, "active" : true, "secs_running" : 6, "op" : "query", "ns" : "test.test", "query" : { "mapreduce" : "test", "map" : function () { sleep(1); emit(1,this.val); }, "reduce" : function (id, val) { return Array.sum(val); }, "out" : "map_reduce_example", "query" : { "val" : { "$gt" : 1 } } }, "client" : "127.0.0.1:57129", "desc" : "conn7", "threadId" : "0x106a87000", "connectionId" : 7, "locks" : { "^" : "r", "^test" : "R" }, "waitingForLock" : false, "msg" : "m/r: (1/3) emit phase M/R: (1/3) Emit Progress: 5173/1 517300%", "progress" : { "done" : 5173, "total" : 1 }, "numYields" : 57, "lockStats" : { "timeLockedMicros" : { "r" : NumberLong(13163605), "w" : NumberLong(1055) }, "timeAcquiringMicros" : { "r" : NumberLong(6595364), "w" : NumberLong(7) } } } ] }
We need to handle filtered jobs correctly and not output misleading percentages in db.currentOp(). (output in logs is fine)
- related to
-
SERVER-9907 Allow to skip initial count() in mapreduce
- Closed