public void SendLeaderIsResigning(ElectionMessage.LeaderIsResigning resigning, EndPoint destinationEndpoint, DateTime deadline) { SendLeaderIsResigningAsync(resigning.LeaderId, resigning.LeaderHttpEndPoint, deadline).ContinueWith(r => { if (r.Exception != null) { Log.Information(r.Exception, "Leader is Resigning Send Failed to {Server}", destinationEndpoint); } }); }
public void Handle(ElectionMessage.LeaderIsResigning message) { Log.Information("ELECTIONS: LEADER IS RESIGNING [{leaderHttpEndPoint}, {leaderId:B}].", message.LeaderHttpEndPoint, message.LeaderId); var leaderIsResigningMessageOk = new ElectionMessage.LeaderIsResigningOk( message.LeaderId, message.LeaderHttpEndPoint, _memberInfo.InstanceId, _memberInfo.HttpEndPoint); _resigningLeaderInstanceId = message.LeaderId; _publisher.Publish(new GrpcMessage.SendOverGrpc(message.LeaderHttpEndPoint, leaderIsResigningMessageOk, _timeProvider.LocalTime.Add(LeaderElectionProgressTimeout))); }
public void Send(ElectionMessage.LeaderIsResigning message, IPEndPoint endPoint) { Ensure.NotNull(message, nameof(message)); Ensure.NotNull(endPoint, nameof(endPoint)); _client.Post(endPoint.ToHttpUrl(EndpointExtensions.HTTP_SCHEMA, "/elections/leaderisresigning"), Codec.Json.To(new ElectionMessageDto.LeaderIsResigningDto(message)), Codec.Json.ContentType, r => { /*ignore*/ }, e => { /*Log.ErrorException(e, "Error occured while writing request (elections/leadz erisresigning)")*/ }); }
public void Handle(ElectionMessage.LeaderIsResigning message) { if (_nodeInfo.IsReadOnlyReplica) { Log.Information( "ELECTIONS: THIS NODE IS A READ ONLY REPLICA. IT IS NOT ALLOWED TO VOTE AND THEREFORE NOT ALLOWED TO ACKNOWLEDGE LEADER RESIGNATION."); return; } Log.Information("ELECTIONS: LEADER IS RESIGNING [{leaderInternalHttp}, {leaderId:B}].", message.LeaderInternalHttp, message.LeaderId); var leaderIsResigningMessageOk = new ElectionMessage.LeaderIsResigningOk( message.LeaderId, message.LeaderInternalHttp, _nodeInfo.InstanceId, _nodeInfo.InternalHttp); _resigningLeaderInstanceId = message.LeaderId; _publisher.Publish(new GrpcMessage.SendOverGrpc(message.LeaderInternalHttp, leaderIsResigningMessageOk, _timeProvider.LocalTime.Add(LeaderElectionProgressTimeout))); }