diff options
author | Judah Schvimer <judah@mongodb.com> | 2017-06-26 10:17:20 -0400 |
---|---|---|
committer | Judah Schvimer <judah@mongodb.com> | 2017-07-14 16:42:14 -0400 |
commit | a109a23f12a957e127814cd9bd82ce18f8437f9b (patch) | |
tree | a28d73e1d91c9943dd300f6eb71edb540e799b15 | |
parent | c161a23f10dbe960d4b9c49b58bd22fe415bf1b9 (diff) | |
download | mongo-a109a23f12a957e127814cd9bd82ce18f8437f9b.tar.gz |
SERVER-29540 awaitNodesAgreeOnPrimary logs why it retries
(cherry picked from commit fc752b3b94b5d821e5f1861c05c27c8a5dc550cd)
-rw-r--r-- | src/mongo/shell/replsettest.js | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mongo/shell/replsettest.js b/src/mongo/shell/replsettest.js index fe345e13d69..2d4334c3a8a 100644 --- a/src/mongo/shell/replsettest.js +++ b/src/mongo/shell/replsettest.js @@ -533,6 +533,12 @@ var ReplSetTest = function(opts) { timeout = timeout || self.kDefaultTimeoutMS; nodes = nodes || self.nodes; expectedPrimaryNodeId = expectedPrimaryNodeId || -1; + if (expectedPrimaryNodeId === -1) { + print("AwaitNodesAgreeOnPrimary: Waiting for nodes to agree on any primary."); + } else { + print("AwaitNodesAgreeOnPrimary: Waiting for nodes to agree on " + + nodes[expectedPrimaryNodeId].name + " as primary."); + } assert.soonNoExcept(function() { var primary = expectedPrimaryNodeId; @@ -544,6 +550,10 @@ var ReplSetTest = function(opts) { if (replSetGetStatus.members[j].state === ReplSetTest.State.PRIMARY) { // Node sees two primaries. if (nodesPrimary !== -1) { + print("AwaitNodesAgreeOnPrimary: Retrying because " + nodes[i].name + + " thinks both " + nodes[nodesPrimary].name + " and " + + nodes[j].name + " are primary."); + return false; } nodesPrimary = j; @@ -551,6 +561,8 @@ var ReplSetTest = function(opts) { } // Node doesn't see a primary. if (nodesPrimary < 0) { + print("AwaitNodesAgreeOnPrimary: Retrying because " + nodes[i].name + + " does not see a primary."); return false; } @@ -558,10 +570,14 @@ var ReplSetTest = function(opts) { // If we haven't seen a primary yet, set it to this. primary = nodesPrimary; } else if (primary !== nodesPrimary) { + print("AwaitNodesAgreeOnPrimary: Retrying because " + nodes[i].name + + " thinks the primary is " + nodes[nodesPrimary].name + " instead of " + + nodes[primary].name); return false; } } + print("AwaitNodesAgreeOnPrimary: Nodes agreed on primary " + nodes[primary].name); return true; }, "Awaiting nodes to agree on primary", timeout); }; |