summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJudah Schvimer <judah@mongodb.com>2017-06-26 10:17:20 -0400
committerJudah Schvimer <judah@mongodb.com>2017-07-14 16:36:01 -0400
commit056bf45128114e44c5358c7a8776fb582363e094 (patch)
treec64c541c1bdf0d86ca9f53c1678bece6b38180cf
parentb306af2fc6cb67ceef051081ad3dfeb7d4c3c594 (diff)
downloadmongo-056bf45128114e44c5358c7a8776fb582363e094.tar.gz
SERVER-29540 awaitNodesAgreeOnPrimary logs why it retriesr3.2.16-rc0r3.2.16
(cherry picked from commit fc752b3b94b5d821e5f1861c05c27c8a5dc550cd)
-rw-r--r--src/mongo/shell/replsettest.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mongo/shell/replsettest.js b/src/mongo/shell/replsettest.js
index 723127608e6..4a64f5e50a0 100644
--- a/src/mongo/shell/replsettest.js
+++ b/src/mongo/shell/replsettest.js
@@ -453,6 +453,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;
@@ -464,6 +470,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;
@@ -471,6 +481,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;
}
@@ -478,10 +490,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);
};