summaryrefslogtreecommitdiff
path: root/jstests/libs/check_log.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/libs/check_log.js')
-rw-r--r--jstests/libs/check_log.js25
1 files changed, 21 insertions, 4 deletions
diff --git a/jstests/libs/check_log.js b/jstests/libs/check_log.js
index 81bab58ce2a..edfd8b1d5cf 100644
--- a/jstests/libs/check_log.js
+++ b/jstests/libs/check_log.js
@@ -11,6 +11,19 @@ var checkLog;
}
checkLog = (function() {
+ var getGlobalLog = function(conn) {
+ var cmdRes;
+ try {
+ cmdRes = conn.adminCommand({getLog: 'global'});
+ } catch (e) {
+ // Retry with network errors.
+ print("checkLog ignoring failure: " + e);
+ return null;
+ }
+
+ return assert.commandWorked(cmdRes).log;
+ };
+
/*
* Calls the 'getLog' function at regular intervals on the provided connection 'conn' until
* the provided 'msg' is found in the logs, or 5 minutes have elapsed. Throws an exception
@@ -19,8 +32,10 @@ var checkLog;
var contains = function(conn, msg) {
assert.soon(
function() {
- var logMessages =
- assert.commandWorked(conn.adminCommand({getLog: 'global'})).log;
+ var logMessages = getGlobalLog(conn);
+ if (logMessages === null) {
+ return false;
+ }
for (var i = 0; i < logMessages.length; i++) {
if (logMessages[i].indexOf(msg) != -1) {
return true;
@@ -43,8 +58,10 @@ var checkLog;
var count = 0;
assert.soon(
function() {
- var logMessages =
- assert.commandWorked(conn.adminCommand({getLog: 'global'})).log;
+ var logMessages = getGlobalLog(conn);
+ if (logMessages === null) {
+ return false;
+ }
for (var i = 0; i < logMessages.length; i++) {
if (logMessages[i].indexOf(msg) != -1) {
count++;