-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
None
-
Affects Version/s: 2.4.1
-
Component/s: MapReduce
-
None
-
Environment:CentOS release 6.3 (Final) 2.6.32-279.9.1.el6.x86_64
Java driver
-
Query Optimization
-
Linux
-
We've upgraded our cluster to 2.4.0-rc1 and we're still not seeing the MapReduce jobs execute on the secondaries. We were hoping SERVER-7423 would be included.
Attached is a sample Java application which can be used to illustrate the issue.
Current state of affairs in 2.5.0:
There are a few issues preventing M/R from running on secondaries:
- We don't pass query options to map reduce - so the actual command can't even tell if slaveOk bit is on.
- We currently write the temporary out put to tmp database and this is not allowed on secondaries since this is a write operation.
- Routing and keeping track of which nodes the M/R job is run on. This is because sharded map reduce is done in 2 stages:
- 1st stage: Run mapReduce on every shard.
- 2nd stage: Run mapReduce.shardedfinish on every shard. The 2nd stage involves aggregating the results from all other shards and running finalReduce on them.
- related to
-
SERVER-5504 Allow map-reduce jobs to run on replicas, provided the output is into the "local" database
- Closed
-
SERVER-41455 Support running $out or $merge from a secondary with writes to the primary
- Closed