public static IsAliveReply CheckIfServerIsStillAlive(Partition partition, string crashedMasterServerId) { try { ServerCommunicationService.ServerCommunicationServiceClient crashedServer = partition.getReplicaById(crashedMasterServerId); Console.WriteLine(">>> Check if Server is Alive..."); return(crashedServer.IsAlive(new IsAliveRequest())); } catch { Console.WriteLine(">>> Server has not replied. It is crashed"); return(null); } }
private void updateConnectionToReplicas(string partition_id) { string[] replicas = PartitionMapping.GetPartitionReplicas(partition_id); foreach (string replica in replicas) { GrpcChannel channel; if (replica_channels.TryGetValue(replica, out channel)) { channel.ShutdownAsync(); } string url = ServerUrlMapping.GetServerUrl(replica); channel = GrpcChannel.ForAddress(url); replica_channels[replica] = channel; replica_clients[replica] = new ServerCommunicationService.ServerCommunicationServiceClient(channel); } }