diff options
author | dalyd <david.daly@mongodb.com> | 2015-11-19 16:11:41 -0500 |
---|---|---|
committer | dalyd <david.daly@mongodb.com> | 2015-12-08 21:18:38 -0500 |
commit | 2a785c9376d051222047980e6df097aae0890b78 (patch) | |
tree | 70a65bc82023666ffcc1bbfc409e52ce7f20302c | |
parent | 1d51c1ae74400d940081790789ac5d9a8af30750 (diff) | |
download | mongo-2a785c9376d051222047980e6df097aae0890b78.tar.gz |
SERVER-21426:Add writeConcern support to benchRunr3.0.8-rc0
(cherry picked from commit 00ab4b4758ef78d974bbd73f9d4efc28736b426e)
-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 { |