diff --git a/src/management/Akka.Management/Cluster/Bootstrap/ContactPoint/HttpClusterBootstrapRoutes.cs b/src/management/Akka.Management/Cluster/Bootstrap/ContactPoint/HttpClusterBootstrapRoutes.cs index 233a7bcf8..5652417f0 100644 --- a/src/management/Akka.Management/Cluster/Bootstrap/ContactPoint/HttpClusterBootstrapRoutes.cs +++ b/src/management/Akka.Management/Cluster/Bootstrap/ContactPoint/HttpClusterBootstrapRoutes.cs @@ -57,9 +57,18 @@ public override async Task HandleAsync(IAkkaHttpContext context) var cluster = Akka.Cluster.Cluster.Get(context.ActorSystem); - ClusterMember MemberToClusterMember(Member m) => - new (m.UniqueAddress.Address, m.UniqueAddress.Uid, m.Status, m.Roles); - + if (cluster.SelfMember.Status + is MemberStatus.Down + or MemberStatus.Exiting + or MemberStatus.Leaving + or MemberStatus.Removed) + { + var body = JsonConvert.SerializeObject( + new SeedNodes(cluster.SelfMember.UniqueAddress.Address, ImmutableList.Empty)); + await context.HttpContext.Response.WriteAllJsonAsync(body); + return true; + } + var state = cluster.State; var members = state.Members @@ -74,6 +83,9 @@ ClusterMember MemberToClusterMember(Member m) => await context.HttpContext.Response.WriteAllJsonAsync(json); return true; + + ClusterMember MemberToClusterMember(Member m) => + new (m.UniqueAddress.Address, m.UniqueAddress.Uid, m.Status, m.Roles); } }