summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordalyd <david.daly@mongodb.com>2015-11-19 16:11:41 -0500
committerdalyd <david.daly@mongodb.com>2015-12-08 21:18:38 -0500
commit2a785c9376d051222047980e6df097aae0890b78 (patch)
tree70a65bc82023666ffcc1bbfc409e52ce7f20302c
parent1d51c1ae74400d940081790789ac5d9a8af30750 (diff)
downloadmongo-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.js11
-rw-r--r--src/mongo/shell/bench.cpp14
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 {