void MemberHeartbeatData::setAuthIssue(Date_t now) { _health = 0; // set health to 0 so that this doesn't count towards majority. _upSince = Date_t(); _lastHeartbeat = now; _authIssue = true; _lastResponse = ReplSetHeartbeatResponse(); _lastResponse.setState(MemberState::RS_UNKNOWN); _lastResponse.setElectionTime(Timestamp()); _lastResponse.setOpTime(OpTime()); _lastResponse.setHbMsg(""); _lastResponse.setSyncingTo(HostAndPort()); }
void MemberHeartbeatData::setDownValues(Date_t now, const std::string& heartbeatMessage) { _health = 0; _upSince = Date_t(); _lastHeartbeat = now; _authIssue = false; _lastResponse = ReplSetHeartbeatResponse(); _lastResponse.setState(MemberState::RS_DOWN); _lastResponse.setElectionTime(Timestamp()); _lastResponse.setOpTime(OpTime()); _lastResponse.setHbMsg(heartbeatMessage); _lastResponse.setSyncingTo(HostAndPort()); }
void MemberData::setAuthIssue(Date_t now) { _health = 0; // set health to 0 so that this doesn't count towards majority. _upSince = Date_t(); _lastHeartbeat = now; _authIssue = true; _updatedSinceRestart = true; _lastHeartbeatMessage.clear(); if (_lastResponse.getState() != MemberState::RS_UNKNOWN) { log() << "Member " << _hostAndPort.toString() << " is now in state RS_UNKNOWN due to authentication issue." << rsLog; } _lastResponse = ReplSetHeartbeatResponse(); _lastResponse.setState(MemberState::RS_UNKNOWN); _lastResponse.setElectionTime(Timestamp()); _lastResponse.setAppliedOpTimeAndWallTime(OpTimeAndWallTime()); _lastResponse.setSyncingTo(HostAndPort()); }
void MemberData::setDownValues(Date_t now, const std::string& heartbeatMessage) { _health = 0; _upSince = Date_t(); _lastHeartbeat = now; _authIssue = false; _updatedSinceRestart = true; _lastHeartbeatMessage = heartbeatMessage; if (_lastResponse.getState() != MemberState::RS_DOWN) { log() << "Member " << _hostAndPort.toString() << " is now in state RS_DOWN" << rsLog; } _lastResponse = ReplSetHeartbeatResponse(); _lastResponse.setState(MemberState::RS_DOWN); _lastResponse.setElectionTime(Timestamp()); _lastResponse.setAppliedOpTimeAndWallTime(OpTimeAndWallTime()); _lastResponse.setSyncingTo(HostAndPort()); // The _lastAppliedOpTime/_lastDurableOpTime fields don't get cleared merely by missing a // heartbeat. }