summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/vote_requester.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/repl/vote_requester.cpp')
-rw-r--r--src/mongo/db/repl/vote_requester.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mongo/db/repl/vote_requester.cpp b/src/mongo/db/repl/vote_requester.cpp
index bac35602398..861b7b4b9e5 100644
--- a/src/mongo/db/repl/vote_requester.cpp
+++ b/src/mongo/db/repl/vote_requester.cpp
@@ -99,9 +99,14 @@ void VoteRequester::Algorithm::processResponse(const RemoteCommandRequest& reque
}
_responders.insert(request.target);
ReplSetRequestVotesResponse voteResponse;
- const auto status = voteResponse.initialize(response.data);
+ auto status = getStatusFromCommandResult(response.data);
+ if (status.isOK()) {
+ status = voteResponse.initialize(response.data);
+ }
if (!status.isOK()) {
logLine << "received an invalid response from " << request.target << ": " << status;
+ logLine << "; response message: " << response.data;
+ return;
}
if (voteResponse.getVoteGranted()) {