diff options
Diffstat (limited to 'src/mongo/db/repl/vote_requester.cpp')
| -rw-r--r-- | src/mongo/db/repl/vote_requester.cpp | 7 |
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()) { |
