diff options
author | Spencer T Brody <spencer@mongodb.com> | 2014-08-14 17:58:22 -0400 |
---|---|---|
committer | Spencer T Brody <spencer@mongodb.com> | 2014-08-14 18:04:04 -0400 |
commit | 7a1a0ce4ca6bbdf047adc7528310078ef7ca08f8 (patch) | |
tree | f6c3d49de6c099986ef059aab66090e35dd2648b | |
parent | f60c7f9003ec815c5e4c37decb6ae48a80bf84ec (diff) | |
download | mongo-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.cpp | 1 | ||||
-rw-r--r-- | src/mongo/db/repl/sync_source_feedback.cpp | 2 |
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)) { |