The behaviour of ordered bulk operations has changed since 3.2.0-rc0.
Previously, if an ordered bulk operation failed then it stopped there, but it now inserts more.
Given the following test case more inserts are being inserted than in previous versions:
db.test.drop(); db.test.insert({_id: 50}); // Create a document to force a duplicate key exception. var bulk = db.test.initializeOrderedBulkOp(); for (i = 1; i < 100; i++) { bulk.insert( { _id: i } ); } try { bulk.execute(); assert(false, "should have failed due to duplicate key"); } catch(err) { assert(db.test.count() == 50, "Unexpected number inserted by bulk write"); }