Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    1. COIf I understand correctly, when mapreduce finish work and it is in progress to output on "temp_result_collection", in that instant mongodb lock and simultaneous the request of other operations are in queue since mapreduce output finish? but if output take some seconds (example 10 sec because it is big output) it is not a problem. But when mapreduce read data from collection for processing it ( run emit and reduce funcion ) it preserve lock on initial collection? I ask this because I'm implementing a voting system in mongodb, and I store votes as nested doc of each objects in diff collection
      singulars
    2. CO"It reads from a collection (read lock yielded every 100 documents)" So, if a user consult simultaneous one of that records that are locked user wait until it is released on that 100 documents?, so read operation perform by user it is put in queue, so it isn't return a error, right?
      singulars
    3. COFirst, to take advantage of yielding fully, make sure you are on the 2.x version (currently 2.0.4) where yielding has been improved. The 100 documents is not a unit of locking, instead the MR job take out a read lock (multiple read locks are allowed) and yields it every 100 documents. Why? because write locks are exclusive, so if a write is waiting, the yield will allow that write to happen. Take a look at Dwight's presentations on 10gen.com for a more detailed and informative explanation on how all this works.
      singulars
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload