diff options
-rw-r--r-- | jstests/core/bench_test_insert.js | 11 | ||||
-rw-r--r-- | src/mongo/shell/bench.cpp | 14 |
2 files changed, 20 insertions, 5 deletions
diff --git a/jstests/core/bench_test_insert.js b/jstests/core/bench_test_insert.js index 9ec08c97a22..1fcf55fc504 100644 --- a/jstests/core/bench_test_insert.js +++ b/jstests/core/bench_test_insert.js @@ -1,14 +1,15 @@ (function() { "use strict"; - function testInsert(docs, writeCmd) { + function testInsert(docs, writeCmd, wc) { var t = db.bench_test_insert t.drop() var benchArgs = { ops : [ { ns : t.getFullName() , op : "insert" , doc : docs, - writeCmd : writeCmd } ], + writeCmd : writeCmd, + writeConcern : wc} ], parallel : 2, seconds : 1, totals : true , @@ -32,6 +33,8 @@ docs.push( { x : 1 } ) } - testInsert(docs, false); - testInsert(docs, true); + testInsert(docs, false, {}); + testInsert(docs, true, {"writeConcern" : {"w" : "majority"}}); + testInsert(docs, true, {"writeConcern" : {"w" : 1, "j": false}}); + testInsert(docs, true, {"writeConcern" : {"j" : true}}); })(); diff --git a/src/mongo/shell/bench.cpp b/src/mongo/shell/bench.cpp index 5dbcd7ff782..5e5a71c5d42 100644 --- a/src/mongo/shell/bench.cpp +++ b/src/mongo/shell/bench.cpp @@ -542,6 +542,10 @@ void BenchRunWorker::generateLoadOnConnection(DBClientBase* conn) { docBuilder.append(BSON("q" << query << "u" << update << "multi" << multi << "upsert" << upsert)); docBuilder.done(); + auto wcElem = e["writeConcern"]; + if (wcElem.ok()) { + builder.append("writeConcern", wcElem.Obj()); + } conn->runCommand( nsToDatabaseSubstring(ns).toString(), builder.done(), result); } else { @@ -583,6 +587,7 @@ void BenchRunWorker::generateLoadOnConnection(DBClientBase* conn) { BSONObj insertDoc; if (useWriteCmd) { + // TODO: Replace after SERVER-11774. BSONObjBuilder builder; builder.append("insert", nsToCollectionSubstring(ns)); BSONArrayBuilder docBuilder(builder.subarrayStart("documents")); @@ -596,7 +601,10 @@ void BenchRunWorker::generateLoadOnConnection(DBClientBase* conn) { docBuilder.append(insertDoc); } docBuilder.done(); - // TODO: Replace after SERVER-11774. + auto wcElem = e["writeConcern"]; + if (wcElem.ok()) { + builder.append("writeConcern", wcElem.Obj()); + } conn->runCommand( nsToDatabaseSubstring(ns).toString(), builder.done(), result); } else { @@ -655,6 +663,10 @@ void BenchRunWorker::generateLoadOnConnection(DBClientBase* conn) { int limit = (multi == true) ? 0 : 1; docBuilder.append(BSON("q" << predicate << "limit" << limit)); docBuilder.done(); + auto wcElem = e["writeConcern"]; + if (wcElem.ok()) { + builder.append("writeConcern", wcElem.Obj()); + } conn->runCommand( nsToDatabaseSubstring(ns).toString(), builder.done(), result); } else { |