summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSpencer T Brody <spencer@mongodb.com>2014-08-14 17:58:22 -0400
committerSpencer T Brody <spencer@mongodb.com>2014-08-14 18:04:04 -0400
commit7a1a0ce4ca6bbdf047adc7528310078ef7ca08f8 (patch)
treef6c3d49de6c099986ef059aab66090e35dd2648b
parentf60c7f9003ec815c5e4c37decb6ae48a80bf84ec (diff)
downloadmongo-7a1a0ce4ca6bbdf047adc7528310078ef7ca08f8.tar.gz
SERVER-14442 Ensure that we always send a repl handshake after reconnecting to our sync source
-rw-r--r--src/mongo/db/repl/repl_coordinator_legacy.cpp1
-rw-r--r--src/mongo/db/repl/sync_source_feedback.cpp2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/mongo/db/repl/repl_coordinator_legacy.cpp b/src/mongo/db/repl/repl_coordinator_legacy.cpp
index f1d20741a76..d3e3ccdc729 100644
--- a/src/mongo/db/repl/repl_coordinator_legacy.cpp
+++ b/src/mongo/db/repl/repl_coordinator_legacy.cpp
@@ -389,6 +389,7 @@ namespace {
if (rid != getMyRID(txn)) {
BSONObj config;
if (getReplicationMode() == modeReplSet) {
+ invariant(_ridMemberMap.count(rid));
Member* mem = _ridMemberMap[rid];
invariant(mem);
config = BSON("_id" << mem->id());
diff --git a/src/mongo/db/repl/sync_source_feedback.cpp b/src/mongo/db/repl/sync_source_feedback.cpp
index e8a6e7efe03..63951cd8d8a 100644
--- a/src/mongo/db/repl/sync_source_feedback.cpp
+++ b/src/mongo/db/repl/sync_source_feedback.cpp
@@ -156,7 +156,6 @@ namespace repl {
return false;
}
- replHandshake(txn);
return hasConnection();
}
@@ -256,6 +255,7 @@ namespace repl {
sleepmillis(500);
continue;
}
+ handshakeNeeded = true;
}
if (handshakeNeeded) {
if (!replHandshake(&txn)) {