summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiyuan Zhou <siyuan.zhou@mongodb.com>2017-05-05 17:58:36 -0400
committerSiyuan Zhou <siyuan.zhou@mongodb.com>2017-06-16 14:22:45 -0400
commit065672a9ee574ba1c2c0dab132848a8bfe7a53f8 (patch)
tree45217a16d3266549c41c3e8bea43b19582a314f6
parentc4ede1aaa722758584fe8436e8ffc2ead62d4d94 (diff)
downloadmongo-065672a9ee574ba1c2c0dab132848a8bfe7a53f8.tar.gz
SERVER-29100 Wait for the same journaling requirement in get_last_error.js
(cherry picked from commit 1e123960e3d2c4d7738d9c53fdbc3c6cdceea552)
-rw-r--r--jstests/gle/get_last_error.js4
-rw-r--r--src/mongo/shell/db.js4
2 files changed, 6 insertions, 2 deletions
diff --git a/jstests/gle/get_last_error.js b/jstests/gle/get_last_error.js
index d3542520c27..6c8a7a0bba1 100644
--- a/jstests/gle/get_last_error.js
+++ b/jstests/gle/get_last_error.js
@@ -62,7 +62,9 @@ assert.eq(gle.wtime, null);
assert.gte(gle.waited, 5);
assert.eq(gle.wtimeout, true);
-gle = mdb.getLastErrorObj("majority", 50);
+// Wait with { j: false }. { w: "majority" } waits for journaling by default,
+// so we override the behavior to make it the same as the previous getLastError command.
+gle = mdb.getLastErrorObj("majority", 50, false);
print('Trying w=majority, 50ms timeout.');
printjson(gle);
assert.eq(gle.ok, 1);
diff --git a/src/mongo/shell/db.js b/src/mongo/shell/db.js
index 7134bea4cc6..e9c17cda693 100644
--- a/src/mongo/shell/db.js
+++ b/src/mongo/shell/db.js
@@ -730,12 +730,14 @@ var DB;
throw _getErrorWithCode(ret, "getlasterror failed: " + tojson(res));
return res.err;
};
- DB.prototype.getLastErrorObj = function(w, wtimeout) {
+ DB.prototype.getLastErrorObj = function(w, wtimeout, j) {
var cmd = {getlasterror: 1};
if (w) {
cmd.w = w;
if (wtimeout)
cmd.wtimeout = wtimeout;
+ if (j != null)
+ cmd.j = j;
}
var res = this.runCommand(cmd);