summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/vote_requester.cpp
diff options
context:
space:
mode:
authormatt dannenberg <matt.dannenberg@10gen.com>2015-09-01 10:00:24 -0400
committermatt dannenberg <matt.dannenberg@10gen.com>2015-09-01 11:48:10 -0400
commit385864b5974ef5c50060691899065917ae58d7c0 (patch)
tree84c0ef9461de1bad1db8f2c8d9d725b760051bd1 /src/mongo/db/repl/vote_requester.cpp
parent141f88aac386baaa510bbe99a1b85bde7bfb102f (diff)
downloadmongo-385864b5974ef5c50060691899065917ae58d7c0.tar.gz
SERVER-20249 mark nodes that voted as up before stepping up as PRIMARY
Diffstat (limited to 'src/mongo/db/repl/vote_requester.cpp')
-rw-r--r--src/mongo/db/repl/vote_requester.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mongo/db/repl/vote_requester.cpp b/src/mongo/db/repl/vote_requester.cpp
index 5f0683d0aee..7bef97a148f 100644
--- a/src/mongo/db/repl/vote_requester.cpp
+++ b/src/mongo/db/repl/vote_requester.cpp
@@ -99,6 +99,7 @@ void VoteRequester::Algorithm::processResponse(const RemoteCommandRequest& reque
log() << "VoteRequester: Got failed response from " << request.target << ": "
<< response.getStatus();
} else {
+ _responders.insert(request.target);
ReplSetRequestVotesResponse voteResponse;
voteResponse.initialize(response.getValue().data);
if (voteResponse.getVoteGranted()) {
@@ -129,6 +130,10 @@ VoteRequester::VoteRequestResult VoteRequester::Algorithm::getResult() const {
}
}
+unordered_set<HostAndPort> VoteRequester::Algorithm::getResponders() const {
+ return _responders;
+}
+
VoteRequester::VoteRequester() : _isCanceled(false) {}
VoteRequester::~VoteRequester() {}
@@ -154,5 +159,9 @@ VoteRequester::VoteRequestResult VoteRequester::getResult() const {
return _algorithm->getResult();
}
+unordered_set<HostAndPort> VoteRequester::getResponders() const {
+ return _algorithm->getResponders();
+}
+
} // namespace repl
} // namespace mongo