fix(host): unify active-node on oldest-member semantics — purge/self-report/labels now track the singleton host
This commit is contained in:
@@ -33,9 +33,7 @@ public class AkkaClusterNodeProvider : IClusterNodeProvider
|
||||
var system = _akkaService.ActorSystem;
|
||||
if (system == null) return false;
|
||||
var cluster = Cluster.Get(system);
|
||||
if (cluster.SelfMember.Status != MemberStatus.Up) return false;
|
||||
var leader = cluster.State.Leader;
|
||||
return leader != null && leader.Equals(cluster.SelfAddress);
|
||||
return ClusterActivityEvaluator.SelfIsOldest(cluster, _siteRole);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,8 +44,7 @@ public class AkkaClusterNodeProvider : IClusterNodeProvider
|
||||
if (system == null) return [];
|
||||
|
||||
var cluster = Cluster.Get(system);
|
||||
var selfAddress = cluster.SelfAddress;
|
||||
var leader = cluster.State.Leader;
|
||||
var oldest = ClusterActivityEvaluator.OldestUpMember(cluster, _siteRole);
|
||||
|
||||
var nodes = new List<NodeStatus>();
|
||||
foreach (var member in cluster.State.Members)
|
||||
@@ -57,8 +54,8 @@ public class AkkaClusterNodeProvider : IClusterNodeProvider
|
||||
|
||||
var hostname = member.Address.Host ?? member.Address.ToString();
|
||||
var isOnline = member.Status == MemberStatus.Up;
|
||||
var isLeader = member.Address.Equals(leader);
|
||||
var role = isLeader ? "Primary" : "Standby";
|
||||
var isPrimary = oldest != null && member.UniqueAddress.Equals(oldest.UniqueAddress);
|
||||
var role = isPrimary ? "Primary" : "Standby";
|
||||
|
||||
nodes.Add(new NodeStatus(hostname, isOnline, role));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user