private void Handle(ClusterEvent.UnreachableMember m) { _log.Info($"Cluster.Unreachable: {m.Member.Address} Role={string.Join(",", m.Member.Roles)}"); var(key, _) = _nodeMap.FirstOrDefault(i => i.Value.ClusterAddress == m.Member.UniqueAddress); if (key != null) { RemoveNode(key); } }
/// <summary> /// Handles a <see cref="ClusterEvent.UnreachableMember" /> message by rolling back all tournaments that had /// been assigned to that member and removing the member from the cluster. /// </summary> /// <param name="unreachableMember">The message.</param> private void HandleUnreachableMessage(ClusterEvent.UnreachableMember unreachableMember) { var addressOfUnreachableMember = unreachableMember.Member.Address; // Roll back all tournaments assigned to actors placed on unreachable node. this._selectionProgress.RollBackOnAddress(addressOfUnreachableMember); // Remove node from cluster. Cluster.Get(Context.System).Down(addressOfUnreachableMember); // See if any of the other workers is free to handle the rolled back tournaments. this.AskForWorkers(); }
private void OnUnreachableMember(ClusterEvent.UnreachableMember msg) { Log.Info("{@Event}", msg); if (Cluster.SelfAddress.Equals(msg.Member.Address)) { Log.Info("Become Unreachable"); Become(Unreachable); } else { // handle other member being unreachable } }
/// <summary> /// Handles a <see cref="ClusterEvent.UnreachableMember" /> message by rolling back all evaluations that had been assigned to that member and removing the member from the cluster. /// </summary> /// <param name="unreachableMember">The message.</param> private void HandleUnreachableMessage(ClusterEvent.UnreachableMember unreachableMember) { var addressOfUnreachableMember = unreachableMember.Member.Address; LoggingHelper.WriteLine(VerbosityLevel.Warn, $"Rollback unreachable member with address {addressOfUnreachableMember}!"); // Roll back all evaluations assigned to actors placed on unreachable node. this.RollBackOnAddress(addressOfUnreachableMember); // Remove node from cluster. Cluster.Get(Context.System).Down(addressOfUnreachableMember); // See if any of the other workers is free to handle the rolled back evaluations. this.AskForWorkers(); }
private void HandleUnreachable(ClusterEvent.UnreachableMember unreachable) { Log.Info("Member detected as unreachable: {0}", unreachable.Member); }
private void ReceiveMessage(ClusterEvent.UnreachableMember message) { Console.WriteLine($">>>>>>> {Self} : {message}"); }