summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 {